我在两个JTextField
中进行了一些错误检查。我会将它们标记为jtext1
和jtext2
。
现在我的GUI看起来像这样:
Enter number 1: [ ] // jtext1
Enter number 2: [ ] // jtext2
Convert [ answer ]
我希望能够检查多个条件并显示错误消息。例如,如果用户没有为两个文本字段输入任何内容,并且命中转换,则应显示以下内容:
Enter number 1: [ Nothing entered ] // jtext1
Enter number 2: [ Nothing entered ] // jtext2
Convert [ answer ]
并且,如果您使用鼠标单击jtext1
我希望它清除消息,以便用户可以输入一个数字。如果他们点击jtext2
,同样的事情也应该发生。
因此,例如,如果我点击jtext2
,则应显示以下内容:
Enter number 1: [ Nothing entered ] // jtext1
Enter number 2: [ ] // jtext2
Convert [ answer ]
问题在于,使用这段代码:
if(!jtext1.isvalid()) {
jtext1.setText("Nothing entered");
jtext1.addMouseListener(new MouseAdapter(){
@Override
public void mouseClicked(MouseEvent e) {
jtext1.setText("");
}
});
}
if(!jtext2.isvalid()) {
jtext2.setText("Nothing entered");
jtext2.addMouseListener(new MouseAdapter(){
@Override
public void mouseClicked(MouseEvent e) {
jtext2.setText("");
}
});
}
只有jtext1
才有效。这对我来说是有道理的,因为我不认为我可以继续压倒同样的功能,但我怎么能绕过这个问题呢?