FocusListener
- Focus events ถูกสร้างเมื่อ component ได้รับหรือสูญเสีย keyboard focus
- Objects แทน focus events สร้างจากคลาส FocusEvent
- Listener interface สำหรับ FocusEvent class คือ FocusListener interface แต่ละ listener สำหรับ FocusEvent ต้อง implement FocusListener interface
- FocusListener interface มี 2 เมธอด focusGained(): เรียกโดย AWT ทันทีหลัง component ได้รับ focus และ focusLost(): เรียกโดย AWT ทันทีหลัง component สูญเสีย focus
Syntax
public interface FocusListener extends EventListener {
public void focusGained(FocusEvent fe);
public void focusLost(FocusEvent fe);
}
ตัวอย่าง
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class FocusListenerTest extends JPanel implements FocusListener {
private JTextField textField;
public FocusListenerTest() {
setLayout(new BorderLayout());
textField = new JTextField();
textField.addFocusListener(this);
add(textField, BorderLayout.NORTH);
}
public void focusGained(FocusEvent fe) {
System.out.println("Text field gained focus");
}
public void focusLost(FocusEvent fe) {
System.out.println("Text field lost focus");
}
public static void main(String args[]) {
JFrame frame = new JFrame();
frame.add(new FocusListenerTest());
frame.setTitle("FocusListener Test");
frame.setSize(375, 250);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}
Output

