创建一个自定义Event |
|
创建一个自定义Event |
class MyEventextends EventObject { public MyEvent(Object source) { super(source); } }
interface MyEventListenerextends EventListener { publicvoid myEventOccurred(MyEvent evt); }
class MyClass { protected EventListenerListlistenerList =new EventListenerList();
publicvoid addMyEventListener(MyEventListener listener) { listenerList.add(MyEventListener.class, listener); }
publicvoid removeMyEventListener(MyEventListener listener) { listenerList.remove(MyEventListener.class, listener); }
void fireMyEvent(MyEvent evt) { Object[] listeners = listenerList.getListenerList(); for (int i = 0; i < listeners.length; i = i + 2) { if (listeners[i] == MyEventListener.class) { ((MyEventListener) listeners[i + 1]).myEventOccurred(evt); } } } }
publicclass Main { publicstaticvoid main(String[] argv)throws Exception { MyClass c = new MyClass(); c.addMyEventListener(new MyEventListener() { publicvoid myEventOccurred(MyEvent evt) { System.out.println("fired"); } });
} } |
相关推荐
Java Swing是Java编程语言中用于构建桌面应用图形用户界面(GUI)的一个库,它是Java Foundation Classes (JFC)的一部分。本章"Java.Swing图形界面开发与案例详解"深入探讨了Swing组件的使用和实践,旨在帮助学习者...
- **第10章:表格**(Tables)——详细介绍如何创建和自定义Swing中的表格组件。 - **第11章:文本控件**(Text Widgets)——涵盖文本字段、文本区域等各种文本输入控件的使用。 - **第12章:滚动条和滑块**...
Java Swing是Java编程语言中用于创建桌面应用程序图形用户界面(GUI)的一个库,它是Java Foundation Classes (JFC)的一部分。本资源包含“Java.Swing图形界面开发与案例详解.王鹏等”一书的第1章和第2章的相关代码...
Java GUI Swing教程是Java开发领域中的一个重要主题,它允许开发者创建具有丰富图形用户界面的应用程序。Swing是Java Foundation Classes (JFC) 的一部分,提供了一整套组件和工具,用于构建桌面应用,使得开发者...
在源码中,你可能会看到Swing的线程模型——Event Dispatch Thread (EDT) 的运用。由于Swing不是线程安全的,所有的GUI更新都必须在EDT上进行,以防止出现数据同步问题。因此,长时间运行的任务通常会放在后台线程...
Java Swing 是Java平台上用于构建图形用户界面(GUI)的一个组件库,它提供了丰富的控件和强大的布局管理器来创建复杂的窗口应用程序。在这个实验中,我们将通过Swing包来实现一个简单的计算器界面。 实验主要涉及...
例如,第2章“Jump-Starting a Swing Application”讲解了如何将现有的AWT应用程序转换为Swing应用程序,并展示了如何添加第一个Swing组件——按钮,以及如何处理更复杂的组件和事件。 ### Swing组件基础知识 第3...
JFC是Java的一个核心库,它包含了丰富的UI组件、布局管理器以及事件处理机制,而Swing是JFC的一部分,提供了更为丰富的组件和功能,使得开发者能够创建出美观且功能强大的桌面应用程序。 **一、JFC概述** Java ...
Swing的一个重要特点是它的事件处理模型,基于AWT的事件监听机制,通过实现EventListener接口或继承特定的Adapter类,如ActionListener、MouseListener等,开发者可以轻松地为组件添加响应用户操作的代码。...
在这个"Java Swing 贪吃蛇"项目中,我们看到的是一个使用Java Swing实现的经典游戏——贪吃蛇。这个项目非常适合初学者,因为它涵盖了Swing的基本组件和事件处理,同时也是一个有趣的编程实践。 贪吃蛇游戏的基本...
接下来,SWING是Java的一个更高级、功能更丰富的GUI库,它在AWT之上构建,提供了更多的组件和更强大的功能。SWING使用纯Java实现,因此可以实现跨平台的统一界面风格,被称为“金属”(Metal)外观。此外,SWING还...
7. **事件调度线程(Event Dispatch Thread, EDT)**:在Swing中,所有的UI更新和事件处理都在同一个线程——事件调度线程中进行,以保证界面的同步和线程安全。 8. **模型-视图-控制器(MVC)**:Swing的设计遵循...
Java GUI程序——记忆测试游戏是一种基于图形用户界面(GUI)的互动软件,旨在帮助用户提升记忆力。...这对于初学者来说是一个很好的学习项目,因为它涵盖了多种实际编程技能,并且结果是一个可以直接玩的有趣应用。
本项目“design-GUI-in-java.zip_华容道”聚焦于使用SWING库来创建GUI,包含了两个实际应用示例:一个日历程序和一个经典的小游戏——华容道。 首先,让我们深入理解SWING库。SWING是Java Foundation Classes (JFC)...
在这个名为"Java-Swing-Key-Event-Practice"的项目中,我们可以推测它是一个基于Java Swing的游戏应用,其中重点实践了键盘事件的处理。游戏通常需要响应用户的快速输入,例如移动角色、执行动作等,因此键盘事件在...
在本项目中,"JAVA课程设计——连连看"是一个基于Java编程语言开发的连连看游戏。这个项目展示了Java在游戏开发中的应用,特别是在图形用户界面(GUI)和算法设计方面的运用。下面将详细阐述其中涉及的关键知识点: ...
Java Swing是一个用于构建桌面应用程序的Java库,它提供了丰富的用户界面组件,使得开发者能够创建出美观且功能强大的应用程序。本篇将深入探讨如何利用Swing来实现一款与Windows系统自带的扫雷游戏——"MineGame"。...
2.3.1 在Eclipse中创建自己的第一个项目 28 2.3.2 在Eclipse中编写HelloWorld程序 29 2.3.3 通过Eclipse运行Hello World 31 2.4 小结:Eclipse——功能很强大 32 2.5 习题 32 第3章 Java中的基本数据类型和...
在给定的代码片段中,提到了需要创建一个自定义异常类——非法年龄类(`IllegalAgeException`),并在`Person3`类中使用它。 - **异常类定义**: - 继承自`Exception`类。 - 提供构造函数来接收错误消息。 - ...
2.3.1 在Eclipse中创建自己的第一个项目 28 2.3.2 在Eclipse中编写HelloWorld程序 29 2.3.3 通过Eclipse运行Hello World 31 2.4 小结:Eclipse——功能很强大 32 2.5 习题 32 第3章 Java中的基本数据类型和...