我正在学习Java和Swing,并尝试为教育目的开发简单的程序。
那么问题来了。
我在框架上使用了GridLayout和默认文本字段。
accNumberField = new JTextField("0", 10);
accNumberField.addFocusListener(new FocusListener() {
int focusCounter = 0;
@Override
public void focusGained(FocusEvent arg0) {
// TODO Auto-generated method stub
if (focusCounter > 0)
accNumberField.setText("");
focusCounter++;
}
我希望的是当用户第一次点击字段时,默认文本消失。因此,我添加了聚焦监听器,并在focusGained方法中使用了accNumberField.setText(“”)。
但问题在于,在我的框架中默认的第一个字段在创建时立即获得焦点。并且默认文本从一开始就消失了。正如您所见,我使用了计数器。但这不是我想要的。
我希望在创建时没有字段会获得焦点,每个字段都能够在用户单击其中一个字段后获得焦点。
如果有拼写错误,请见谅。英语不是我的母语。
new JTextField("0", 10);
这是一个创建文本框的代码,初始值为“0”,长度为10个字符。除了“1”之外,用户可能在该字段中输入什么?这是一个图形用户界面(GUI)。 - Andrew Thompson