- 浏览: 238130 次
- 性别:
- 来自: 常州
文章分类
- 全部博客 (165)
- Java基础 (49)
- 开发工具 (3)
- Python基础 (1)
- Oracle基础 (9)
- Java 符号计算 (0)
- 计算机基本原理 (10)
- SQL (6)
- javascript (16)
- HTML (2)
- XML (4)
- 程序员之路 (7)
- JDBC (1)
- Unicode (0)
- 字符编码 (3)
- JSP基础 (2)
- Servlet&JSP (9)
- MySQL基础 (1)
- UML基础 (1)
- Hibernate (2)
- Java包 (1)
- Spring (1)
- Struts2 (9)
- 系统命令 (1)
- Tomcat (1)
- Windows (1)
- Android (1)
- C#基础 (14)
- HTML5 (1)
- .NET基础 (1)
- 数据库基础 (2)
- ASP.NET基础 (7)
- 开源Java (3)
- 趣味算法 (1)
- 面向对象思想 (1)
- 软件应用 (1)
- Web工程 (1)
- jquery (2)
- JPA (0)
- 设计模式 (0)
最新评论
-
静夜独窗:
JavaBean组件能说的具体一点吗,我感觉这样说理解的不清晰 ...
EL 表达式语言 -
静夜独窗:
在Java中,不同字符集编码的转换是通过Unicode作为中介 ...
JavaWeb中的乱码产生与解决方案
Swing 实现事件处理
基本方法:
组件. addXXXLinster( XXXLinster 接口实现类的对象 );
其中
组件 :该组件需要对事件有响应。
XXXLinster 接口实现类的对象 :该对象的类实现了 XXXLinster 接口,所以该类中有处理相应事件的方法。
addXXXLinster :事件绑定,组件与事件处理对象绑定。
方法一:
public class ClassName implements XXXLinster{ 类中的某个方法(…){ … 组件.addXXXLinster(this); … } //接口方法 接口需要实现的方法1(XXXEvent e){ … } //... 接口需要实现的方法n(XXXEvent e){ … } }
方法二:独立监听器类实现事件处理
public class 自定义监听器类名 implements 事件监听器{ 接口需要实现的方法1(XXXEvent e){ … } //... 接口需要实现的方法n(XXXEvent e){ … } } public class ClassName { 类中的某个方法(…){ … 组件.addXXXLinster(new 自定义监听器类名()); … } }
方法三:使用匿名类
public class ClassName { 类中的某个方法(…){ … 组件.addXXXLinster(new 匿名类父类(){ 接口需要实现的方法1(XXXEvent e){ … } //... 接口需要实现的方法n(XXXEvent e){ … } }); … } }
方法四:监听器类为内部类
public class ClassName{ public class 内部类监听器类名 implements XXXLinster{ 接口需要实现的方法1(XXXEvent e){ … } .... 接口需要实现的方法n(XXXEvent e){ … } } 类中的某个方法(…){ … 组件.addXXXLinster(this); … } }
说明:
使用匿名类 创建事件监听器 可以不用定义接口中所有方法。
implements 监听接口 ,则需要定义所有方法。即使组件对有些事件不响应,也必须要写出这些方法。
事件适配器(Adapter)
使用事件适配器可以在编程时只定义需要写的事件响应方法。其他方法可以不写。
通过extends Adapter 使用 事件适配器。
事件监听器和对应 的Adapter
ComponentLinster | ComponentAdapter |
ContainerLinster | ContainerAdapter |
FocusListener | FocusAdapter |
KeyListener | KeyAdapter |
MouseListener | MouseAdapter |
MouseMotionListener | MouseMotionMouseAdapter |
WindowFocusLinster | WindowAdapter |
WindowStateListener | 同上 |
WindowList ener | 同上 |
注意:
上述所有的XXXAdapter都直接继承于Object类。即没有Adapter类。
java为单继承。一旦继承了某个Adapter。则无法继承其他的类。
发表评论
-
Java NIO 基础学习
2013-09-21 16:24 939零、概述 1、传统IO的问题 2、非阻塞IO ... -
try finally 与 return
2013-09-02 16:11 9601、try、catch、finally语句中,在如果try ... -
Java的传值
2013-07-21 13:06 951这个问题一直以来都有误区。本质原因是那些写书的人,喜欢用“传 ... -
Java多线程——synchronized的问题
2013-06-14 15:51 1043一直以来都存在这样的问题: 多线程操作同一对象。该对象有 ... -
Java与操作系统的交互
2013-05-05 22:08 1707System类 System表示Java程序的运行平台。S ... -
java枚举
2013-04-06 15:59 900枚举,之前一直忽视了其存在。其实挺有用。 java5 ... -
Java语法细节
2013-02-03 11:19 925final关键字 final修饰的量以视为常量,当fin ... -
Java Socket 学习笔记
2013-01-29 23:42 958Socket:英文中的意思是插座。 两个Java应用程序 ... -
Java 线程同步
2013-01-27 23:17 1035理解Java线程状态: ... -
Java 与 C# 计算性能比较
2012-11-02 14:51 1160程序:寻找2亿以内的最大素数,从2开始寻找。 Java程序: ... -
Java数组的操作
2012-10-12 11:23 848一、复制数组 java.lang.System类中的静态 ... -
Java容器
2012-10-09 00:33 884Java集合类就像容器。把多个对象的引用放进容器中。即集合类主 ... -
Java日期处理
2013-01-31 23:05 859不得不吐槽一下Java的日期处理。太不爽了。 基本 ... -
java:Excel
2012-09-27 09:06 1124jxl操作excel 在开源世界中,有两套比较有影响的API ... -
关于分页显示的页码
2012-08-21 13:30 1269分页显示数据时常常需要将页码列出来。 此处的Page类主要关 ... -
dom4j
2012-07-07 17:21 2241dom4j 与JDOM一样,也是一种用于解析XML文档 ... -
JDOM基础
2012-07-07 17:20 1945JDOM Java Document Object Mode ... -
线程优先级 && 后台线程 && join线程
2012-07-02 23:08 46线程优先级 每个线 ... -
Java线程的运行状态(线程的生命周期)
2012-07-02 22:56 900新建和就绪 ... -
Java多线程 Thread类 和 Runnable接口
2012-07-02 22:13 1520Java的线程,即一个Thre ...
相关推荐
这些组件都继承自 javax.swing.JComponent 类,具有丰富的事件处理机制,可以通过添加监听器来响应用户的交互行为。 例如,JButton 是一个基本的按钮组件,你可以通过设置其文本、图标或动作监听器来定制按钮的行为...
3. **事件处理**:Swing中的事件处理主要通过监听器(Listener)实现,如ActionListener,MouseListener,KeyListener等。开发者可以注册监听器来响应用户的操作,比如点击按钮,选择列表项等。 4. **布局管理器**:...
本教程将深入探讨Swing的基础知识,帮助开发者理解和掌握Swing的基本用法。 1. **Swing组件**: - **JFrame**: JFrame是Swing中的顶级容器,它充当了窗口的角色。开发者通常在JFrame中添加其他组件,如按钮、...
在这个学生管理系统中,Swing控件被用来构建交互式的界面,而事件处理机制则确保了用户操作的有效响应。 Swing是Java Foundation Classes (JFC)的一部分,提供了丰富的组件集合,用于创建美观且功能强大的图形用户...
Java Swing 是Java Foundation Classes (JFC) 的一部分,它是一个...阅读提供的"深入学习:JFC SWING—JAVA 基础类组件集.pdf"文档,将帮助你更深入地了解和掌握这些知识,从而能够熟练地创建和定制Java桌面应用程序。
这些事件可以帮助开发者创建更加互动和响应式的用户界面。 Swing中的边框不仅仅是装饰,它们还可以具有功能性,比如可以添加监听器来处理用户的交互行为。边框可以通过`Border`接口的实现类来设置,如`TitledBorder...
在深入学习Java图形界面和事件响应机制之前,首先要明确GUI编程(Graphical User Interface Programming)的基本概念。GUI是图形用户界面的缩写,它通过图形化方式提供用户与计算机交互的界面。与传统的命令行界面...
本教程将深入讲解Java Swing的基础知识,帮助开发者掌握这一强大的工具。 1. **Swing组件基础** Swing提供了一系列组件,如按钮(JButton)、文本框(JTextField)、标签(JLabel)等,这些组件构成了用户界面的...
本篇文章将深入探讨Swing套件的基础知识,非常适合Java GUI编程的初学者。 首先,我们需要了解Swing的组件体系结构。Swing组件基于Java的Abstract Window Toolkit (AWT)之上,但与AWT不同,Swing组件是轻量级的,...
Swing线程是Java中一个特殊的线程,用于处理图形用户界面的事件响应和更新操作。Swing线程是单线程的,意味着在同一时间只能执行一个事件响应或更新操作。如果在Swing线程中执行时间-consuming的操作,将会导致GUI...
### Java图形界面与事件...Java图形界面与事件响应的设计与实现,不仅涉及到AWT和Swing组件的选择与布局,还涵盖了事件监听器的配置,以及对用户交互的响应处理,是构建功能丰富、用户体验友好的应用程序的关键所在。
综上所述,理解并遵循Swing的线程规则是编写高效、响应式的GUI应用的基础。合理利用初始化线程、EDT和任务线程,可以确保用户界面的流畅性和应用程序的稳定性。在实际开发中,应始终关注线程安全和性能优化,确保...
- Swing在AWT的基础上重写了大部分的UI组件,并且添加了新的特性,如更灵活的事件处理模型和更丰富的布局管理器。 总结来说,Swing是一个全面的用户界面工具包,它通过Java语言的纯粹性,提供了一套跨平台、模块化...
Swing线程基础是Java GUI编程中的重要概念,特别是对于使用Swing库构建桌面应用程序的开发者而言。Swing设计遵循单线程模型,确保UI组件的线程安全性和响应性。以下是Swing线程基础的详细说明: 1. **Swing应用程序...
【Java Swing从基础到熟练】 Java Swing 是Java Foundation Classes (JFC)的一部分,它提供了丰富的图形用户界面(GUI)组件库,用于构建桌面应用程序。Swing 是在AWT(Abstract Window Toolkit)的基础上发展起来...
通过监听器接口,如ActionListener、MouseListener等,开发者可以为组件添加事件响应,使得用户与界面的交互更加动态和直观。例如,点击按钮时执行特定的代码,或者当鼠标悬停在某个组件上时改变其外观。 为了创建...
Swing线程基础是Java GUI编程中的重要概念,特别是对于使用Swing库构建的应用程序而言。Swing设计遵循单一线程原则,确保图形用户界面(GUI)的稳定性和响应性。以下是Swing线程基础的详细说明: 1. **初始化线程 ...
在“Java Swing教程”中,我们会详细讲解如何使用这些组件、布局管理器、事件处理和外观定制,通过实例代码演示如何一步步构建出美观且功能丰富的应用程序。无论是初学者还是有一定经验的开发者,都能从中学习到如何...
它是所有组件的父类,提供了绘制的基础架构、键盘事件处理、add() 方法等功能。 简单的 Swing 小部件 JLabel 是 Swing 库中最基础的组件。它所做的正是您所期望的:呆在那儿,看起来很漂亮,描述其他组件。它可以...