我正在製作一個用戶可以創建新帳戶的快遞程序。 我想有一個下一個按鈕,用戶不能按下,直到文本字段已被填充。在填寫必填字段之前禁用JButton所需的建議 - Java
所以一個空白名稱字段和姓氏字段將意味着下一個按鈕不能按下,但如果字段已填寫,可以按下一個按鈕
我正在製作一個用戶可以創建新帳戶的快遞程序。 我想有一個下一個按鈕,用戶不能按下,直到文本字段已被填充。在填寫必填字段之前禁用JButton所需的建議 - Java
所以一個空白名稱字段和姓氏字段將意味着下一個按鈕不能按下,但如果字段已填寫,可以按下一個按鈕
這樣添加的KeyListener到您的領域(未測試):
nameField.addKeyListener(new KeyAdapter() {
public void keyReleased(KeyEvent e) {
super.keyReleased(e);
if(nameField.getText().length() > 0 && surNameField.getText().length() > 0)
nextButton.setEnabeld(true);
else
nextButton.setEnabled(false);
}
});
這將檢查這兩個字段是否爲空,每次在該字段中按下一個鍵。如果條件爲真,則將啓用下一個按鈕。
在您的actionPerformed方法中,對於每個actionEvent檢查,檢查是否填寫了必填字段,如果是,請設置您的按鈕setEnabled(true)。如果您可以向我們展示您的代碼,也許可以提供更好的答案。
簡單來說,嘗試一下。
String text = textField.getText();
if (text.length()>0)
button.setEnabled(true);
...
如果你想擁有的飛行,然後它的一個比較複雜的按鈕進行啓用
編輯:
複雜的案件:
Document textFieldDoc = myTextField.getDocument();
textFieldDoc.addDocumentListener(new DocumentListener() {
void changedUpdate(DocumentEvent e) {
updated(e);
}
void insertUpdate(DocumentEvent e) {
updated(e);
}
void removeUpdate(DocumentEvent e) {
updated(e);
}
private void updated(DocumentEvent e) {
boolean enable = e.getDocument().getLength() > 0;
myButton.setEnabled(enable);
}
});
這正是我想要做的,只要用戶填寫字段 – fez
就啓用按鈕在這種情況下,您必須添加一個文檔偵聽器,只要用戶修改了文本字段,然後在更新中功能,你可以setEnabled按鈕 – LivingThing
這一個工作非常感謝你! – fez
沒問題。如果用戶再次刪除文本,您也不想禁用該按鈕。已經更新了答案以反映這一點。 – CleanUp
它不適用於nameField.getText()。length()> 0 || surNameField.getText()。length()> 0 –