java swing
<!--
@page { size: 21cm 29.7cm; margin: 2cm }
P { margin-bottom: 0.21cm }
-->
Swing
是目前
Java
中不可缺少的窗口工具组,是用户建立图形化用户界面(
GUI
)程序的强大工具。
Java Swing
组件自动产生各种事件来响应用户行为。如当用户点击按钮或选择菜单项目时,
Swing
组件会产生一个
ActionEvent
。
Swing
组件会产生许多事件,如
ActionEvents,ChangeEvents,ItemEvents
等,来响应用户的鼠标点击行为,列表框中值的改变,计时器的开始计时等行为。在
Java Swing
编程中,通过
注册监听器
,我们可以监听事件源产生的事件,从而在事件处理程序中处理我们所需要处理的用户行为。
Java Swing
中处理各组件事件的一般步骤是:
1
.
新建一个组件(如
JButton
)。
2
.
将该组件添加到相应的面板(如
JPanel
)。
3
.
注册监听器以监听事件源产生的事件(如通过
ActionListener
来响应用户点击按钮)。
4
.
定义处理事件的方法(如在
ActionListener
中的
actionPerformed
中定义相应方法)。
以上步骤我们可以用多种方法实现。但人们通常用二种方法。第一种方法是只利用一个监听器以及多个
if
语句来决定是哪个组件产生的事件;第二种方法是使用多个内部类来响应不同组件产生的各种事件,其具体实现又细分为两种方式:一种是匿名内部类,一种是一般内部类。
为了说明如何使用上述三种方法实现事件的处理方法,我们建立一个简单的应用程序。该程序界面有两个按钮,当用户点击相应的按钮,就会弹出一个对话框显示相应的内容。通过这个简单的程序,你可以了解
Swing
中事情处理的机制,从而实现更多、更复杂的用户界面程序。
首先,我们利用单个监听器来实现该程序。我们定义一个名为
Simple1
的类来包括所有代码。所有的用户行为(如点击按钮)由一个监听器
SimpleListenner
中的
actionPerformed
方法来处理。以下是实现代码:
package
org.leno.swing.demo2;
/*
*
Simple1.java -
处理事件的第一种方法
*
在这个例子中,利用一个
ActionListener
来监听事件源产生的事件
*
用一些
if
语句来决定是哪个事件源
*/
import
java.
相关文档:
转自其他网站
核心提示:第一步
充分理解Socket 1.
什么是socket
所谓socket
通常也称作套接字,用于描述IP
地址和端口,是一个通信链的句柄。应用程序通常通过套接字向网...
推广和普及Java
技术,为国内众多的Java
爱好者提供一个“
平等自由协作创造”
的开放式交流环境,提供Java
专题 ......
闲来无事将早些时候已实现的QQ登录界面再实现了一遍,纯手工打造(意思是没有用NetBeans、MyEclipse的拖动功能)。
源代码如下:
package ibees.qq;
import java.awt.BorderLayout;
import java.net.URL;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import j ......
package homework03;
import java.util.Scanner;
/*
* 编写一个类,该类有一个方法
* public int f(int a,int b){
*
* }
* 然后编写一个该类的子类,要求重写方法f(),而且重写的方法将返回两个整数的最小公倍数。要求:
* 在重写的方法的方法体中首先调用被隐藏的方法返回a和b的最大公约数m,然后将a*b/m ......
只针对不正常的条件才使用异常
异常只应该被用于不正常的条件,它们永远不应被用于正常的控制流。
下面是一个用异常作遍历结束条件的滥用异常的例子:
//horrible abuse of exceptions. Don't ever do this!
try{
int i=0;
while(true)a[i++].f();
}catch(ArrayIndexOutOfBoundsException e){
......
一、什么是反射:
反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问、检测和修改它本身状态或行为的一种能力。这一概念的提出很快引发了计算机科学领域关于应用反射性的研究。它首先被程序语言的设计领域所采用,并在Lisp和面向对象方面取得了成绩。其中LEAD/LEAD++ 、OpenC+ ......