在我的程序中,用户在 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();
}
});
最佳答案
添加鼠标监听器:
field.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
field.setText("");
}
});
请记住,如果用户合法地点击别处并返回该字段,这可能会令人沮丧。你可能希望保持一些状态,例如如果在此期间单击了按钮,则仅清除该字段。
关于java - 如何在用户单击 JTextField 时删除文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16106605/