我正在创建一个小程序,人们必须输入一个4位数的密码,以便他们可以提取一笔钱。但是,默认情况下,撤消按钮处于停用状态,仅在pin文本字段中输入单个代码时才会激活。最好的方法是什么?
答案 0 :(得分:1)
您需要创建一个Listener并将其附加到TextField。监听器将在TextField的内容发生更改时触发。让Listener测试TextField的内容,如果正确,则激活Button。
TextField的文档应该为您提供您需要知道的一切。
答案 1 :(得分:0)
DJClayworth的钱是正确的。
如果你需要一个使用纯AWT的具体例子,那么它是:
package com.example;
import java.awt.Button;
import java.awt.Frame;
import java.awt.Panel;
import java.awt.TextField;
import java.awt.event.TextEvent;
import java.awt.event.TextListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class Example extends Frame {
private static final long serialVersionUID = 1L;
private final Button button;
public Example() {
super("Example");
addWindowListener(new WindowAdapter() { //exit when user closes the frame
@Override
public void windowClosing(WindowEvent we) {
System.exit(0);
}
});
TextField textField = new TextField(4);
textField.addTextListener(new TextListener() {
@Override
public void textValueChanged(TextEvent e) {
boolean enableButton = textField.getText().length() == 4;
button.setEnabled(enableButton);
}
});
button = new Button("Submit");
button.setEnabled(false);
Panel panel = new Panel();
add(panel);
panel.add(textField);
panel.add(button);
pack();
setVisible(true);
}
public static void main(String[] args) {
new Example();
}
}