验证 Swing 应用程序的输入字段(例如文本字段、组合框等)并让用户仅在一切正常时才按下保存按钮的最佳方法是什么。假设 Search 功能也在同一个界面中。所以搜索记录也会填满输入字段。但在这种情况下,保存按钮应保持禁用状态。
initComponents();
btnSave.setEnabled(false);
txt1.getDocument().addDocumentListener(new DocumentListener() {
@Override
public void changedUpdate(DocumentEvent e) {
}
@Override
public void removeUpdate(DocumentEvent e) {
validate(txt1.getText(),e);
}
@Override
public void insertUpdate(DocumentEvent e) {
validate(txt1.getText(),e);
}
public void validate(String enteredText,DocumentEvent e) {
String currText = "";
try {
Document doc = (Document) e.getDocument();
currText = doc.getText(0, doc.getLength());
} catch (BadLocationException e1) {
}
if(enteredText.equals(currText)){
//if validated successfully
btnSave.setEnabled(false);
}else{
btnSave.setEnabled(true);
}
}
});