zoukankan      html  css  js  c++  java
  • java ActionEventDemo

    方法一:

    package HandEvent;
    
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    
    import javax.swing.*;
    
    public class ActionEventDemo extends JFrame {
        JButton click;
        JPanel panel;
        JLabel message;
        
        public ActionEventDemo() {
            super("");//只能放在第一行,在子类的构造方法中,用super调用且放在第一行
            click =new JButton ("Click");
            panel =new JPanel();
            message=new JLabel();
            
            add(panel);
            panel.add(click);
            panel.add(message);
            actionLis al=new actionLis();//创建侦听器对象
            //将监听器对象注册到事件源上
            click.addActionListener(al);
            //但是message仍然不可识别
            
            setSize(300,300);
            setVisible(true);
            
            
        }
        
        public static void main(String args[]) {
            ActionEventDemo obj=new ActionEventDemo(); 
        }
    }
    //接口没法直接创建对象,用类实现接口
    class actionLis implements ActionListener{
    //该类创建的对象做监听器
    
        @Override
        public void actionPerformed(ActionEvent arg0) {
            // TODO Auto-generated method stub
            message.setText("Welcome to java");//需要传参
            
        }
        
    }

    分析:

    该存在的问题:

    方法二:接口实现体

     1 package HandEvent;
     2 
     3 import java.awt.event.ActionEvent;
     4 import java.awt.event.ActionListener;
     5 
     6 import javax.swing.*;
     7 
     8 public class ActionEventDemo extends JFrame {
     9     JButton click;
    10     JPanel panel;
    11     JLabel message;
    12     
    13     public ActionEventDemo() {
    14         super("");//只能放在第一行,在子类的构造方法中,用super调用且放在第一行
    15         click =new JButton ("Click");
    16         panel =new JPanel();
    17         message=new JLabel();
    18         
    19         add(panel);
    20         panel.add(click);
    21         panel.add(message);
    22         actionLis al=new actionLis();//创建侦听器对象
    23         //将监听器对象注册到事件源上
    24         click.addActionListener(new ActionListener(){
    25             //该类创建的对象做监听器
    26 
    27             @Override
    28             public void actionPerformed(ActionEvent arg0) {
    29                 // TODO Auto-generated method stub
    30                 message.setText("Welcome to java");//需要传参
    31                 
    32             }
    33             
    34         });
    35         //但是message仍然不可识别
    36         
    37         setSize(300,300);
    38         setVisible(true);
    39         
    40         
    41     }
    42     
    43     public static void main(String args[]) {
    44         ActionEventDemo obj=new ActionEventDemo(); 
    45     }
    46 }

    分析:

    方法三:整个窗口类做监听器

     1 package HandEvent;
     2 
     3 import java.awt.event.ActionEvent;
     4 import java.awt.event.ActionListener;
     5 
     6 import javax.swing.*;
     7 
     8 public class ActionEventDemo extends JFrame implements ActionListener {
     9     JButton click;
    10     JPanel panel;
    11     JLabel message;
    12     
    13     public ActionEventDemo() {
    14         super("");//只能放在第一行,在子类的构造方法中,用super调用且放在第一行
    15         click =new JButton ("Click");
    16         panel =new JPanel();
    17         message=new JLabel();
    18         
    19         add(panel);
    20         panel.add(click);
    21         panel.add(message);
    22         
    23     //    actionLis al=new actionLis();//创建侦听器对象
    24         //将监听器对象注册到事件源上
    25         click.addActionListener(this);
    26         //但是message仍然不可识别
    27         
    28         setSize(300,300);
    29         setVisible(true);
    30         
    31         
    32     }
    33     
    34     public static void main(String args[]) {
    35         ActionEventDemo obj=new ActionEventDemo(); 
    36     }
    37     @Override
    38     public void actionPerformed(ActionEvent arg0) {
    39         // TODO Auto-generated method stub
    40         message.setText("Welcome to java");//需要传参
    41         
    42     }
    43 }

    分析:
    注:直接implements:

    public class ActionEventDemo extends JFrame implements ActionListener
  • 相关阅读:
    python base64.b64decode 等号可以随便加
    MySQL 5.7 数据库的忘记 root 登录密码处理
    霸州录——第一章 名存实亡(下)
    三 工具虽微小 入门不可少
    霸州录——第一章 名存实亡(中)
    霸州录——第一章 名存实亡(上)
    一 欲行网络道,入乡须随俗
    霸州录——楔子
    【第一章】编译原理基础
    TensorFlow
  • 原文地址:https://www.cnblogs.com/Catherinezhilin/p/7977024.html
Copyright © 2011-2022 走看看