gpt4 book ai didi

JAVA:仅当在 JTextField 中进行更改时才启用 JButton

转载 作者:行者123 更新时间:2023-11-30 10:50:06 25 4
gpt4 key购买 nike

我有一个 JButton 可以更新我的 MYSQL 数据库中的数据,如何仅在我的 JTextFields 中检测到更改时才启用 JButton?

...这是我的更新按钮代码

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);
}

最佳答案

public static void addChangeListener(JTextComponent text, ChangeListener changeListener) { Objects.requireNonNull(文本); Objects.requireNonNull(changeListener); DocumentListener dl = new DocumentListener() { private int lastChange = 0, lastNotifiedChange = 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 将不会更新任何内容..

还有什么帮助吗??

关于JAVA:仅当在 JTextField 中进行更改时才启用 JButton,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35175309/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com