`
hellsing42
  • 浏览: 262795 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

关于ActionListener的3种实现方法

阅读更多

java的swing中很难理解的一部分就是事件机制了下面是3种实现方法

1.正常的类实现方法,但这里是定义了新的事件类,再在里面定义按钮,更常规的做法是定义按钮和定义事件的都分开,但这样在编写大量的事件时明显非常冗余

 

import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 
import javax.swing.JButton; 

public class TestActionListener1 implements ActionListener { 

    public void actionPerformed(ActionEvent e) { 
        System.out.println("你点击了按钮"); 
    } 

    public void test() { 
        JButton s_button = new JButton("按钮"); 
        s_button.addActionListener(this); 
    } 
} 

 

2.使用内部类来完成

 

import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 
import javax.swing.JButton; 
public class TestActionListener2 { 

    public void test() { 
        JButton s_button = new JButton("按钮"); 
        MyButtonActionListener s_listener = new MyButtonActionListener(); 
        s_button.addActionListener(s_listener); 
    } 

    private class MyButtonActionListener implements ActionListener { 
        public void actionPerformed(ActionEvent e) { 
            System.out.println("你点击了按钮"); 
        } 
    } 
} 

 

 

3.更懒的方法,连名都不想命名了(反正都自己用)---内部匿名类

public class TestActionListener3 { 
    public void test() { 
        JButton s_button = new JButton("按钮"); 
        s_button.addActionListener(new ActionListener() { 
            public void actionPerformed(ActionEvent e) { 
                System.out.println("你点击了按钮"); 
            } 
        }); 
    } 
}

 

 

 

 

 

分享到:
评论

相关推荐

    JAVA事件监听器的四种实现方式

    JAVA事件监听器的四种实现方式 JAVA事件监听器是JAVA语言中的一种机制,它允许程序员在特定的事件发生时执行某些操作。事件监听器的实现方式有多种,本篇文章将介绍四种常见的事件监听器实现方式:自身类作为事件...

    两种实现弹出式菜单方法,内含有封装类

    在本项目中,我们将探讨两种实现弹出式菜单的方法,它们都是通过封装类来实现的,以提高代码的可重用性和可维护性。我们将详细解释这两种方法及其封装类的设计理念。 首先,让我们了解一下什么是封装。封装是面向...

    Java监听器三种实现方法代码解析

    在Java中,有三种常见的监听器实现方法:匿名内部类、缩减的匿名内部类以及Lambda表达式。下面将详细介绍这三种方法。 1. 匿名内部类(非缩减版) 在Java中,创建一个自定义监听器通常涉及到实现特定的事件监听...

    Java Swing 中三种事件处理方法之比较

    Java Swing 中三种事件处理方法之比较 Java Swing 是 Java 中不可缺少的窗口工具组,是用户建立图形化用户界面...Java Swing 中三种事件处理方法各有其优缺点,我们需要根据实际情况选择合适的方法来实现我们的需求。

    Java事件处理机制- 事件监听器的四种实现方式

    本文将详细解析Java事件处理机制中事件监听器的四种实现方式:自身类作为事件监听器、外部类作为事件监听器、匿名内部类作为事件监听器以及内部类作为事件监听器。 1. **自身类作为事件监听器** 在自身类作为事件...

    均值中值滤波java实现.docx

    - **均值滤波**:在`jMean_ActionPerformed`方法中实现,通过遍历图像的每个像素,并计算其3×3邻域内所有像素的平均值作为新像素值。 - **中值滤波**:在`jMedian_ActionPerformed`方法中实现,同样是遍历每个像素...

    关于接口的实例,详细分析出接口的使用方法

    // 实现方法1 } public int method2() { // 实现方法2 } } ``` 这表明`MyClass`必须提供`MyInterface`中声明的所有方法的具体实现。 3. **接口与多态性** 多态性允许我们使用父类引用操作子类对象,而...

    java图形的模糊与锐化参考算法

    下面将详细介绍这两个算法的原理和实现方法。 **模糊算法** 模糊操作通常通过计算图像像素的邻域平均值来实现,以减少图像的对比度和细节。在Java中,可以使用`BufferedImage`类和`ConvolveOp`类来执行模糊操作。...

    Java实现的日历功能完整示例

    GridLayout是Java的标准布局管理器,提供了丰富的方法来实现图形用户界面的布局管理,例如管理组件的位置、大小等。 知识点7: 日期计算 在本示例中,我们使用了日期计算来实现日历功能的日期计算。Java提供了多种...

    关于JAVA中事件分发和监听机制实现的代码实例

    Java为此提供了事件适配器类,如`ActionAdapter`,它是`ActionListener`的一个空实现。我们可以继承适配器类,只重写我们需要的方法,这降低了代码的冗余。 7. **事件委托**:事件处理还可以采用事件委托的方式,...

    Java实现人民币大写+GUI界面

    为了实现这个功能,我们通常会创建一个方法,接受一个整数或浮点数作为参数,返回对应的人民币大写字符串。这个方法可以分为几个步骤: 1. **金额拆分**:根据位值(个、十、百、千、万等)将数字拆分成多个部分。 ...

    java实现gif动画效果(java显示动态图片)

    这些可以通过监听器(Listener)实现,例如`ActionListener`。 总结,Java实现GIF动画效果需要结合窗口组件、图像处理、定时器以及可能的用户交互等多方面知识。通过不断刷新并切换图片帧,可以模拟出动态的视觉...

    java 实现 画板程序

    - `JPanel`的子类`Board`是我们画板的核心,它继承自`JPanel`并实现了`paintComponent()`方法,这是在Java Swing中进行图形绘制的关键方法。 2. **图形元素的绘制** - 在`Board`类中,我们可以定义一系列的方法来...

    Java实现愤怒的小鸟AngryBirds

    3. **图形绘制**:Java的Graphics类提供了丰富的绘图功能,如drawRect()、drawOval()等方法,可以用来绘制游戏中的角色、障碍物和其他元素。在愤怒的小鸟游戏中,我们需要用到这些方法来绘制小鸟、猪堡、弹弓等元素...

    JAVA编程计数器类Counter

    `actionPerformed()`方法实现了`ActionListener`接口的要求。当用户点击按钮或更改文本框中的值时,此方法会被调用。根据点击的按钮不同,计数器的值会相应地增加、减少或者重置为0,并更新文本框中的显示。 #### ...

    Java添加事件监听的四种方法代码实例

    第一种方法是让类直接实现特定的监听器接口。例如,`ActionListener` 接口用于处理动作事件,如按钮点击。以下是一个简单的示例: ```java import javax.swing.*; import java.awt.event.ActionEvent; import java....

    Java Swing下文件复制的实现方法.zip

    以下是对Java Swing下文件复制实现方法的详细说明。 首先,我们需要了解Java中的文件操作基本概念。在Java中,`java.io`包提供了许多类用于处理文件和流,如`File`、`FileInputStream`、`FileOutputStream`等。`...

    简单3*3拼图小游戏

    同时,为了响应用户的点击事件,开发者需要重写MouseListener或ActionListener接口,实现相应的方法,如mouseClicked(),以处理用户对拼图的移动操作。 Diamond.java则可能表示游戏中的拼图块类,这个类封装了拼图...

    GUI中用线程实现倒计时

    - 实现了两个`ActionListener`接口的匿名内部类,分别为“开始”和“停止”按钮定义了事件处理器。 - “开始”按钮的事件处理器根据用户输入的时间值启动倒计时线程。 - “停止”按钮的事件处理器调用了线程的`...

Global site tag (gtag.js) - Google Analytics