在我的程序中,用户在JTextField
中写入内容,然后点击“生成”按钮,这会触发JTextField
中的字符被绘制为JPanel
。
我想在用户再次点击JTextField
时清除JTextField
中的所有文字。我尝试通过向FocusListener
添加ActionListener
和JTextField
来实现此目的,但我的尝试无效。此外,我对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();
}
});
答案 0 :(得分:4)
添加鼠标监听器:
field.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
field.setText("");
}
});
请记住,如果用户合法地点击其他地方并返回该字段,这可能会令人沮丧。您可能希望保持某种状态,例如如果在过渡期间单击按钮,则仅清除该字段。
答案 1 :(得分:3)
你可以这样做:
textField.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
textField.setText("");
}
});
答案 2 :(得分:2)
只是对其他人的补充'码。
public void textfieldMouseClicked(java.awt.event.MouseEvent evt) {
uname_tf.setText(null);
} //This will set the JTextfield blank on mouse click//
public void textfieldFocusLost(java.awt.event.FocusEvent evt) {
uname_tf.setText("Username");
} //This will bring back the default text when not in focus//
希望它有所帮助,干杯!!!
答案 3 :(得分:1)
如果你只需要一个点击它就可以删除你可以这样做的文字:
textField.addMouseListener(new java.awt.event.MouseAdapter() {
public void mousePressed(java.awt.event.MouseEvent evt) {
textFieldMousePressed(evt);
}
});
private void textFieldMousePressed(java.awt.event.MouseEvent evt) {
textField.setText("");
}
答案 4 :(得分:0)
为你添加1行buttonMethod例如:
txtfield.clear();
或将您的txtfield设置为空字符串