GUI

来源:互联网 发布:出现无法安装java 编辑:程序博客网 时间:2024/06/07 00:55

Swing中添加事件响应的三种处理方式说明  
实现ActionListener的三种方式
1.实现一个ActionListener子类,再把按钮的事件响应委托给这个子类的实例处理.这种方式并不常用,我在这里列出是为了教学.
2.让界面类实现ActionListener接口,再把事件响应委托给界面类.这种方式适合于处理一些短小简单或要求内聚的事件响应.
3.用匿名类实现ActionListener接口,再把事件委托给这个匿名类的实例.这种方式是Swing事件处理的主流.

方式一:实现一个ActionListener子类
// 实现了ActionListener接口的类
public class Button3ActionListener implements ActionListener{
  public void actionPerformed(ActionEvent e) {
    String buttonText=((JButton)e.getSource()).getText();
    
    System.out.println(“你按下了” + buttonText);
  }
}
// 给按钮三添加事件处理
button3.addActionListener(new Button3ActionListener());
方式二:让界面类实现ActionListener接口
public class MyFrame extends JFrame implements ActionListener{
  public MyFrame() {
    ….
    button2.addActionListener(this);
  }
  
  /**
   * 按钮二的事件响应在此
   */
  public void actionPerformed(ActionEvent e) {
    if(e.getSource()==button2){
      showMsg(“你按下了” + button2.getText());
    }   
  }
}
方式三:用匿名类的方式添加事件响应
button1 = new JButton(“按钮一”);
button1.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        showMsg(“你按下了” + button1.getText());
      }
});

原创粉丝点击