我有一个 jTextField 和一个 jLabel。我希望在用户完成输入后自动将数据从数据库获取到我的标签。
subcode_txt.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
Object obj=e.getSource();
if(obj==subcode_txt){
jst=subcode_txt.getText();
try{
rs=st.executeQuery("Select * from facultydtls where sub_code like '"+jst+"'");
rs.next();
faculty_lab.setText(rs.getString("f_name"));
sem_lab.setText(rs.getString("sem"));
subject_lab.setText(rs.getString("sub"));
department_lab.setText(rs.getString("dept"));
rs.close();
}
catch(Exception ewt){
JOptionPane.showMessageDialog(null,"Invalid Subject Code");
}
}
}
});
最佳答案
- 如果您想对用户输入使用react,
DocumentListener
是比KeyListener
更好的方法 - 您可以选择
ActionListener
,当用户按 ENTER 时将触发该监听器 - 您不应在事件分派(dispatch)线程上执行数据库查询。请改用工作线程。请参阅Concurrency in Swing了解更多信息
close
语句应放置在finally
block 中
话虽这么说,你到底想问什么?
关于java - 带有 Action 执行 Action 监听器的 jtextfield,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13177996/