package result;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class F8 {
public static void main(String[] args) {
new FocusTest();
}
}
class FocusTest extends JFrame {
JTextField txt1, txt2;
public FocusTest() {
super("焦點事件示例");
setBounds(300, 200, 350, 200);
// 設置組件在容器中的位置和大小
setVisible(true);
setLayout(new FlowLayout());
setDefaultCloseOperation(EXIT_ON_CLOSE);
txt1 = new JTextField("", 10);
txt2 = new JTextField("", 10);
// 内部類實現監聽器
txt1.addFocusListener(new txtFocus());
txt2.addFocusListener(new txtFocus());
add(txt1);
add(txt2);
add(new JButton("確定"));
add(new JLabel("使用tab鍵改變組建的焦點"));
validate();
}
//内部類
class txtFocus implements FocusListener {
public void focusGained(FocusEvent e) {
if (e.getSource() == txt1) {
txt1.setText("txt1獲得焦點");
} else {
txt2.setText("txt2獲得焦點");
}
}
public void focusLost(FocusEvent e) {
if (e.getSource() == txt1) {
txt1.setText("txt1失去焦點");
} else {
txt2.setText("txt2失去焦點");
}
}
}
}