在窗口中创建一个文本框,为这个文本框添加FocusListener监听器,当文本框获得焦点,在文本框里显示自己的学号,当失去焦点时显示自己的姓名。
时间: 2024-02-24 12:58:26 浏览: 160
文本框获得焦点
5星 · 资源好评率100%
好的,下面是一个在窗口中创建一个文本框,并为其添加FocusListener监听器的示例代码:
```java
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
public class MyFrame extends JFrame {
private JPanel panel;
private JTextField textField;
public MyFrame() {
super("My Frame");
panel = new JPanel();
getContentPane().add(panel);
// 创建文本框
textField = new JTextField(20);
// 添加FocusListener监听器
textField.addFocusListener(new FocusListener() {
@Override
public void focusGained(FocusEvent e) {
// 当文本框获得焦点时,在文本框里显示学号
textField.setText("学号:123456");
}
@Override
public void focusLost(FocusEvent e) {
// 当文本框失去焦点时,在文本框里显示姓名
textField.setText("姓名:张三");
}
});
// 将文本框添加到面板中
panel.add(textField);
// 设置窗口大小
setSize(500, 500);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args) {
new MyFrame();
}
}
```
在这个示例中,我们创建了一个继承自JFrame的类MyFrame,并在构造函数中创建了一个JPanel对象并将其添加到窗口中。然后我们创建了一个文本框,并为其添加了一个FocusListener监听器。当文本框获得焦点时,我们在文本框里显示学号,当失去焦点时,我们在文本框里显示姓名。最后,我们将文本框添加到面板中,并设置窗口的大小和关闭操作,最终将窗口显示出来。
阅读全文