JAVA中按钮的事件监听的三种方式

JAVA中的Swing组件,按钮的重点是进行事件的监听,可以通过调用JButton的addActionListener()方法。这个方法接受一个实现ActionListener接口的对象作为参数,ActionListener接口中只包含一个actionPerformed()方法,所以如果想把事件处理的代码与JButton进行关联,就需要如下的三种做法:

第一种:

public class Button extends MyFrame {
    private JButton
        b1 = new JButton("Button1"),
        b2 = new JButton("Button2");
    private JTextField txt = new JTextField(10);
    class ButtonListener implements ActionListener{// 定义内部类实现事件监听
        public void actionPerformed(ActionEvent e) {
            txt.setText(((JButton)e.getSource()).getText()) ;
            /*
             * String name = ((JButton)e.getSource()).getText();
             * txt.setText(name);
             */
        }
    }
    
    private ButtonListener b = new ButtonListener();
    public Button(){
        b1.addActionListener(b);
        b2.addActionListener(b);
        this.setLayout(new FlowLayout());
        this.add(b1);
        this.add(b2);
        this.add(txt);
    }
    public static void main(String[] args) {
         SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                new Button();
            }
        });
    }
}

第二种:

//直接创建ActionListener的类的对象b,使用的是匿名内部类
    private ActionListener b= new ActionListener(){// 定义内部类实现事件监听
        public void actionPerformed(ActionEvent e) {
            txt.setText(((JButton)e.getSource()).getText()) ;
            /*
             * String name = ((JButton)e.getSource()).getText();
             * txt.setText(name);
             */
        }
        
    };

第三种:

//在程序中直接创建按钮的监听,不需要再引入监听器

b1.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e) {
                txt.setText(((JButton)e.getSource()).getText());
            }
        });
        b2.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e) {
                txt.setText(" ");
            }
        });

时间: 2024-11-04 20:08:30

JAVA中按钮的事件监听的三种方式的相关文章

extjs组件添加事件监听的三种方式 http://blog.sina.com.cn/s/blog_48d7f92901011cfn.html

extjs对组件添加监听的三种方式 在定义组件的配置时设置 如代码中所示: Java代码 xtype : 'textarea', name : 'dataSetField', labelSeparator:'', fieldLabel:'', hideLabel: true, allowBlank: true, height: mainPanelHeight*0.8, anchor:'99%', listeners:{'blur':function(){ alert(1); }} 对组件变量通过

事件监听的三种方法

事件监听的三种方法: addTarget --用于监听一些点击.值改变等事件 代理       -- 监听一些开始.结束.选中某行等一些改变控制属性的一些事件 通知:上面都不行考虑使用通知 通知使用注意:只要监听通知就要移除通知,否则控制器销毁后,通知发送时就会找不到对象导致程序崩溃 文本框事件的监听: textfied代理只能监听开始编辑结束编辑,能否改变文字,不能监听改变文字后的情况,本项目需要 监听文本框中是否有输入,代理和addTarget都不适用. 文本框发出的三个通知: UIKIT_

Android实现Button按钮点击事件监听的几种方式

工作中的项目通常有多个人一起开发,而每个人都有每个人的代码风格,不注重代码规范通常是前人挖坑,后人采坑,降低项目开发效率及加大维护难度,这里分享几种安卓按钮点击事件监听的实现方式. 方式一:直接在Activity中实现View.OnClickListener接口,重写onClick方法,提供所有按钮监听事件入口.这是实际项目中最常用的方式,尤其在页面有多个按钮的情况下比较适用. package com.example.myapp; import android.app.Activity;impo

王立平--android事件监听的3种方式

第一种通常在activity组件的oncreate事件中直接定义,直接动作. 这样的方式每一个控件都定义一次.通常不方便. Button btn = (Button) findViewById(R.id.myButton); btn .setOnClickListener(new View.OnClickListener() { public void onClick(View v) { //do something } }); 另外一种一般是在activity组件实现其接口.这样能够多外控件共

java中的key事件监听机制

package com.at221; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import javax.swing.JFrame; public class TestKey { public static void main(String[] args) { JFrame f = new JFrame(); f.addKeyListener(new MyKeyListener()); f.setVisib

Springboot-Listener(springboot的事件监听的4种实现方式)

springboot事件监听的4种方式 第1种: 1.自定义事件MyApplicationEvent继承ApplicationEvent import org.springframework.context.ApplicationEvent; /** * Created by Administrator on 2018\11\13 0013. * 自定义事件继承ApplicationEvent */public class MyApplicationEvent extends Applicati

4.JAVA之GUI编程事件监听机制

事件监听机制的特点: 1.事件源 2.事件 3.监听器 4.事件处理 事件源:就是awt包或者swing包中的那些图形用户界面组件.(如:按钮) 事件:每一个事件源都有自己特点有的对应事件和共性事件.(如:鼠标单击事件) 监听器:将可以触发某一事件的动作(不止一个动作)都已经封装到了监听器中. 以上三者,在java中都已经定义好了,直接获取其对象来用就可以了. 我们要做的事情是,就是对产生的动作进行处理. 图解事件监听机制: 4.JAVA之GUI编程事件监听机制,布布扣,bubuko.com

简述Java中Http/Https请求监听方法

一.工欲善其事必先利其器 做Web开发的人总免不了与Http/Https请求打交道,很多时候我们都希望能够直观的的看到我们发送的请求参数和服务器返回的响应信息,这个时候就需要借助于某些工具啦.本文将采用Fiddler2作为分析工具,Fiddler很强大,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据,是越墙抓包之利器.关于工具的介绍可以参考下面的链接: http://www.cnblogs.com/TankXiao/archive/2012/02

Java SE (3) 之 事件监听

1 package com.sun; 2 import java.awt.*; 3 import javax.swing.*; 4 import java.awt.event.*; 5 public class Demo_1_1 extends JFrame implements ActionListener{ 6 7 Mypanel mp; 8 public static void main(String[] args) { 9 // TODO Auto-generated method st