JAVA:仅当在JTextField中进行更改时才启用JButton
我有一个更新MYSQL数据库中数据的JButton,如何仅在我的JTextFields中检测到更改时启用JButton …这是我的更新按钮代码JAVA:仅当在JTextField中进行更改时才启用JButton,java,error-handling,sql-update,Java,Error Handling,Sql Update,我有一个更新MYSQL数据库中数据的JButton,如何仅在我的JTextFields中检测到更改时启用JButton …这是我的更新按钮代码 private void updateBtnActionPerformed(java.awt.event.ActionEvent evt) { try{ String a = IDField.getText(); String query = "UPDATE emp
private void updateBtnActionPerformed(java.awt.event.ActionEvent evt) {
try{
String a = IDField.getText();
String query = "UPDATE employee SET First_Name=?, Last_Name=?,Job_Title=? WHERE ID=?";
PreparedStatement ps = conn.prepareStatement(query);
ps.setString(1, FNameField.getText());
ps.setString(2, LNameField.getText());
ps.setString(3, jobTitleField.getText());
ps.setString(4, a);
ps.executeUpdate();
JOptionPane.showMessageDialog(null, "Successfully Updated Employee Record!");
}catch(Exception e){
System.out.println(e);
}
您可以在JTextField上添加valueChangeListener
有关更多信息,请访问此堆栈溢出链接-公共静态无效addChangeListener(JTextComponent文本,ChangeListener ChangeListener){ 对象。requirennoull(文本); 对象。requireNonNull(changeListener); DocumentListener dl=新的DocumentListener(){ private int lastChange=0,lastcnotifiedchange=0
@Override
public void insertUpdate(DocumentEvent e) {
changedUpdate(e);
}
@Override
public void removeUpdate(DocumentEvent e) {
changedUpdate(e);
}
@Override
public void changedUpdate(DocumentEvent e) {
lastChange++;
SwingUtilities.invokeLater(() -> {
if (lastNotifiedChange != lastChange) {
lastNotifiedChange = lastChange;
changeListener.stateChanged(new ChangeEvent(text));
}
});
}
};
text.addPropertyChangeListener("document", (PropertyChangeEvent e) -> {
Document d1 = (Document)e.getOldValue();
Document d2 = (Document)e.getNewValue();
if (d1 != null) d1.removeDocumentListener(dl);
if (d2 != null) d2.addDocumentListener(dl);
dl.changedUpdate(null);
});
Document d = text.getDocument();
if (d != null) d.addDocumentListener(dl);
}
我如何实现这个??
addChangeListener(someTextBox,e->doSomething());
因此,当在JTextField中检测到更改时,“我的更新”按钮将通知所做的更改,如果未做任何更改,UpdateBtn将不会更新任何内容
还有什么帮助吗