驗證swing應用程序的輸入字段(如文本字段,組合框等)的最佳方式是什麼,並讓用戶只有在一切正常時才按下Save按鈕。假設搜索功能也在同一個界面中。因此搜索記錄也會填寫輸入字段。但在這種情況下保存按鈕應保持禁用狀態。只有驗證爲真時才啓用Jbutton
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);
}
}
});
@vishal_aim我在表單加載時設置了enable false。然後在驗證方法結束時將保存按鈕設置爲true。然後我在最後一個文本字段的按下事件中調用了Validate方法。 – amal 2013-04-21 12:20:53
如果用戶填寫了最後一個文本字段並清除了以前的文本字段之一,該怎麼辦? 然後,您需要將該操作添加到所有輸入元素。 – 2013-04-21 12:23:46
@GnomezGrave。這就是我在這裏的問題。我會嘗試你的建議。 – amal 2013-04-21 12:27:04