【发布时间】:2012-10-27 16:00:07
【问题描述】:
我正在制作一个快递程序,用户可以在其中创建一个新帐户。 我想要一个用户在填写文本字段之前无法按下的下一步按钮。
所以一个空白的姓名字段和姓氏字段意味着无法按下下一个按钮,但如果字段已填写,则可以按下下一个按钮
【问题讨论】:
我正在制作一个快递程序,用户可以在其中创建一个新帐户。 我想要一个用户在填写文本字段之前无法按下的下一步按钮。
所以一个空白的姓名字段和姓氏字段意味着无法按下下一个按钮,但如果字段已填写,则可以按下下一个按钮
【问题讨论】:
将这样的 KeyListener 添加到您的字段中:
nameField.addKeyListener(new KeyAdapter() {
public void keyReleased(KeyEvent e) {
super.keyReleased(e);
if(nameField.getText().length() > 0 && surNameField.getText().length() > 0)
nextButton.setEnabled(true);
else
nextButton.setEnabled(false);
}
});
这将检查两个字段是否不为空,每次在字段中按下一个键。如果条件为真,将启用下一步按钮。
【讨论】:
简单来说,试试类似的东西。
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);
}
});
【讨论】:
在你的actionPerformed方法中,对于每一个actionEvent检查,检查必填字段是否被填满,如果是,设置你的按钮setEnabled(true)。如果您可以向我们展示您的代码,也许可以提供更好的答案。
【讨论】: