[英]How to delete text when a user clicks a JTextField?
在我的程序中,用户在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("");
}
});
请记住,如果用户合法地单击其他位置并返回到该字段,则可能会感到沮丧。 您可能希望保持某种状态,例如,如果在此期间单击了按钮,则仅清除该字段。
你可以这样做:
textField.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
textField.setText("");
}
});
只是对他人代码的补充。
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//
希望能有所帮助,干杯!!!
如果您只想单击它以删除文本,则可以这样操作:
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("");
}
在您的buttonMethod中添加1行,例如:
txtfield.clear();
或将您的txtfield设置为空字符串
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.