📄 focuslistenerframe.java
字号:
package listener;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
//使用implements关键字加入聚焦接收器
public class FocusListenerFrame extends JFrame implements FocusListener {
JPanel contentPane;
//创建3个编辑框
JTextField jTextField1 = new JTextField();
JTextField jTextField2 = new JTextField();
JTextField jTextField3 = new JTextField();
//创建3个标签
JLabel jLabel1 = new JLabel();
JLabel jLabel2 = new JLabel();
JLabel jLabel3 = new JLabel();
public static void main(String[] args) {
FocusListenerFrame frame = new FocusListenerFrame();
frame.setVisible(true);
}
public FocusListenerFrame() {
//窗口关闭时清空内存
setDefaultCloseOperation(EXIT_ON_CLOSE);
jbInit();
}
private void jbInit() {
contentPane = (JPanel)this.getContentPane();
contentPane.setLayout(null);
this.setSize(new Dimension(400, 300));
this.setTitle("聚焦接收器示例");
jTextField1.setBounds(new Rectangle(184, 48, 143, 29));
//加入聚焦接收器
jTextField1.addFocusListener(this);
jTextField2.setBounds(new Rectangle(184, 116, 143, 29));
jTextField2.addFocusListener(this);
jTextField3.setBounds(new Rectangle(184, 183, 143, 29));
jTextField3.addFocusListener(this);
jLabel1.setText("编辑框1");
jLabel1.setBounds(new Rectangle(63, 48, 79, 16));
jLabel2.setText("编辑框2");
jLabel2.setBounds(new Rectangle(63, 116, 61, 16));
jLabel3.setText("编辑框3");
jLabel3.setBounds(new Rectangle(63, 183, 86, 16));
contentPane.add(jTextField1, null);
contentPane.add(jTextField2, null);
contentPane.add(jTextField3, null);
contentPane.add(jLabel1, null);
contentPane.add(jLabel2, null);
contentPane.add(jLabel3, null);
}
//当控件获得焦点时,执行下面代码
public void focusGained(FocusEvent e) {
displayMessage("获得焦点", e);
}
//当按件失去焦点时,执行下面代码
public void focusLost(FocusEvent e) {
displayMessage("失去焦点", e);
}
//显示信息方法
void displayMessage(String infor, FocusEvent e) {
//取得激发聚焦事件的控件
JTextField tempTextField = (JTextField)e.getSource();
//设置编辑框的字符串
tempTextField.setText(infor);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -