我想创建一个与学生相关的小型 Netbeans 应用程序。我有两个 JTextFields 。在这个 JTextFields 中,我想显示一些像" apple" 这样的词,然后想要显示 "芒果&#34 ; 等。
详情如下。
当应用程序启动时,我想在JtextField1中显示为 " apple" 。 当学生输入相同或错误的条目时,自动移动到同一个JTextfield1中的下一个单词 " mango" 。
在此应用程序中,JButton将不会被使用。
答案 0 :(得分:1)
我猜你有两个JTextFields,一个是用户不应该编辑的,只能用于显示 - 所以通过
使该字段不可编辑setFocusable(false)
以便JTextField永远无法获得焦点setEditable(false)
在你的第二个JTextField中,通过addActionListener(...)
给它一个ActionListener,在监听器内部有代码检查第二个JTextField的文本,如果不正确,则更改第一个JTextField中的文本。
firstTextField.setFocusable(false);
firstTextField.setEditable(false);
secondTextField.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String text = secondTextField.getText();
// here check the text String and if incorrect
// call setText(...) on the firstTextField
}
});
请注意,通过向JTextField本身添加ActionListener,您现在拥有一个侦听器,当用户在此字段具有焦点时按下Enter按钮时,该侦听器将被激活。不需要JButton来实现这一点。