JTextField聚焦失焦事件

本文最后更新于:5 个月前

代码实现如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// 设置提醒文字
String emptyText = "等待输入...";
// new JTextField对象
JTextField jTextField = new JTextField();
// 赋值
jTextField.setText(emptyText);
// 设置等待输入文字颜色为浅灰色
jTextField.setForeground(Color.DARK_GRAY)
// 设置失焦聚焦事件
jTextField.addFocusListener(new FocusListener() {
@Override
public void focusGained(FocusEvent e) {
//获得焦点,当获取text和emptyText相同时从新赋值并更换字体颜色,不相同则不做任何处理
if (emptyText.equals(jTextField.getText())) {
jTextField.setText("");
jTextField.setForeground(Color.BLACK);
}
}
@Override
public void focusLost(FocusEvent e) {
//失去焦点,输入框没有值时将emptyText从新赋回同时改变颜色
if (jTextField.getText().isEmpty() && !emptyText.isEmpty()) {
jTextField.setText(emptyText);
jTextField.setForeground(Color.DARK_GRAY);
}
}
});

颜色可以根据需要修改,通过失焦聚焦逻辑实现等待输入提示效果


JTextField聚焦失焦事件
https://crudclass.github.io/2023/03/10/Java/Swing/JTextField_1/
作者
Zero
发布于
星期五, 三月 10日 2023, 9:58 晚上
更新于
2023年4月11日
许可协议