Liny_@NotePad

沉迷ACG中

AWT事件监听作业学习例子(5) - FocusEvent

YOYO posted @ 2008年8月12日 04:14 in 【Java SE】 with tags java AWT ActionEvent 监听 , 2761 阅读
【事件执行情况】指示 Component 已获得或失去输入焦点时执行。
【传递的接口名】FocusListener
【需要实现方法】focusGained - 组件获得键盘焦点时调用;focusLost - 组件失去键盘焦点时调用。

【代码】

  1. import javax.swing.*;
  2.  
  3. import java.awt.*;
  4. import java.awt.event.*;
  5.  
  6. public class CallByFocus {
  7.  
  8.         /**
  9.          * @author Linyq.
  10.          */
  11.         public static void main(String[] args) {
  12.                 JFrame.setDefaultLookAndFeelDecorated(true);
  13.                 MyFrame frm = new MyFrame();
  14.                 frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  15.         }
  16.  
  17. }
  18.  
  19. class MyFrame extends JFrame{
  20.        
  21.         public MyFrame(){
  22.                 this.setTitle("FocusEvent 测试");
  23.                 this.setSize(300,80);
  24.                 this.setBackground(Color.DARK_GRAY);
  25.                 this.setLayout(new FlowLayout(FlowLayout.CENTER));
  26.                
  27.                 final JLabel label = new JLabel("test");
  28.                 label.setSize(200,50);
  29.                 label.setLayout(null);
  30.                 this.getContentPane().add(label);
  31.                
  32.                 JButton btn1 = new JButton("btn1");
  33.                 JButton btn2 = new JButton("btn2");
  34.                
  35.                 //      用于接收组件上的键盘焦点事件的侦听器接口
  36.                 //      使用Tab键可以遍历焦点
  37.                 btn1.addFocusListener(new FocusListener(){
  38.  
  39.                         public void focusGained(FocusEvent e) {
  40.                                 //      组件获得键盘焦点时调用
  41.                                 label.setText("button1 focus gained~");
  42.                         }
  43.  
  44.                         public void focusLost(FocusEvent e) {
  45.                                 //      组件失去键盘焦点时调用
  46.                                 label.setText("button1 focus lost..");
  47.                         }
  48.                        
  49.                 });
  50.                
  51.                 this.getContentPane().add(btn1);
  52.                 this.getContentPane().add(btn2);
  53.                
  54.                 this.setVisible(true);
  55.         }
  56.        
  57. }

登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter