【发布时间】:2013-04-12 23:08:13
【问题描述】:
在我的程序中,用户在JTextField 中写入内容,然后单击“生成”按钮,这会触发JTextField 中的字符被绘制到JPanel。
然后,当用户再次单击JTextField 时,我想清除JTextField 中的所有文本。我试图通过在JTextField 中添加FocusListener 和ActionListener 来实现这一点,但是我的尝试没有奏效。此外,我对FocusListener 的实现给出了Unreachable Statement 编译器错误。
这可以在 Java 中实现吗?如果可以,我该怎么做?
下面的代码是我的ActionListener 实现。
dfaText = new JTextField(6);
dfaText.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
generateLabel.setText("NOOOOO!!!");
dfaText.setText("");
isDfaDrawn = false;
canDraw = false;
repaint();
}
});
【问题讨论】:
-
能否贴出相关部分的代码?
-
“当用户点击它”点击什么?按钮???
-
不,当用户单击文本字段时。
-
当用户TABS到文本字段时会怎样?不要假设用户使用鼠标。应该使用 FocusListener 而不是 MouseListener。
-
当我使用 FocusListener 时,它会为 generateLabel、dfaText、isDrawn... 等提供无法访问的语句(例如)。您对此有什么想法吗?
标签: java swing actionlistener jtextfield focuslistener