- 浏览: 752080 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
u011487470:
感觉就是知识采集一样,博主能不能整理一下
基于Web的IM简介 -
whxtbest:
whxtbest 写道2里面:如果T本身就是重复的话 比如 ...
关于后缀树的一些理解 -
whxtbest:
2里面:如果T本身就是重复的话 比如S是aaab,T是aa ...
关于后缀树的一些理解 -
刘亮love小雪:
谢谢啦
Java 2D高级绘图 -
bluky999:
收集的资料挺多的 哈哈
基于Web的IM简介
要能够让图形界面接收用户的操作,就必须给各个组件加上事件处理机制。在事件处理的过程中,主要涉及三类对象:
◇ Event-事件,用户对界面操作在java语言上的描述,以类的形式出现,例如键盘操作对应的事件类是KeyEvent。
◇ Event Source-事件源,事件发生的场所,通常就是各个组件,例如按钮Button。
◇ Event handler-事件处理者,接收事件对象并对其进行处理的对象。
事件及处理机制
组件(事件发生者)触发一个相应类型的事
件
此事件由相应类型的Listener(事件监听者)
接收并处理
///////////////////////java事件类
与AWT有关的所有事件类都由java.awt.AWTEvent类派生,它也是EventObject类的子类。AWT事件共有10类,可以归为两大类:低级事件和高级事件。
java.util.EventObject类是所有事件对象的基础父类,所有事件都是由它派生出来的。AWT的相关事件继承于java.awt.AWTEvent类,这些AWT事件分为两大类:低级事件和高级事件,低级事件是指基于组件和容器的事件,当一个组件上发生事件,如:鼠标的进入,点击,拖放等,或组件的窗口开关等,触发了组件事件。高级事件是基于语义的事件,它可以不和特定的动作相关联,而依赖于触发此事件的类,如在TextField中按Enter键会触发ActionEvent事件,滑动滚动条会触发AdjustmentEvent事件,或是选中项目列表的某一条就会触发ItemEvent事件。
低级事件{ComponentEvent( 组件事件:组件尺寸的变化,移动) {ContainerEvent( 容器事件:组件增加,移动) {WindowEvent( 窗口事件:关闭窗口,窗口闭合,图标化) {FocusEvent( 焦点事件:焦点的获得和丢失) {KeyEvent( 键盘事件:键按下、释放) {MouseEvent( 鼠标事件:鼠标单击,移动)
◇ 高级事件(语义事件){ActionEvent(动作事件:按钮按下,TextField中按Enter键){AdjustmentEvent(调节事件:在滚动条上移动滑块以调节数值){ItemEvent(项目事件:选择项目,不选择"项目改变"){TextEvent(文本事件,文本对象改变)
引入事件处理机制后的编程基本方法如下:
① 对java.awt中组件实现事件处理必须使用java.awt.event包,所以在程序开始应加入import java.awt.event.*语句.
② 用如下语句设置事件监听者:
事件源.addXXListener(XXListener代表某种事件监听者).
③ 事件监听者所对应的类实现事件所对应的接口XXListener,并重写接口中的全部方法.
这样就可以处理图形用户界面中的对应事件了.要删除事件监听者可以使用语句:
事件源.removeXXListener;
例1 按钮单击事件的处理方法.
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
public class ActionListenerDemo extends Applet implements ActionListener{
Button b=new Button("Press Me");
public void init(){
add(b);
//设置按钮b的监听者
b.addActionListener(this);
}
//实现ActionListener接口所定义的方法actionPerformed
public void actionPerformed(ActionEvent e){
showStatus("Button Clicked");
}
}
例2 选择事件的处理.
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
public class ItemListenerDemo extends Applet implements ItemListener{
TextArea ta=new TextArea(6,30);
String[] city={"北京","上海","天津","济南","青岛"};
Checkbox cb[]=new Checkbox[5];
public void init(){
add(new Label("你选择的城市是: "));
add(ta);
add(new Label("请选择你喜爱的城市: "));
for(int i=0;i);
setSize(300,200);
setVisible(true);
addWindowListener(new WinAdapter());
}
public static void main(String[] args){
new WindowAdapterDemo();
}
class WinAdapter extends WindowAdapter{
public void windowClosing(WindowEvent e){
System.exit(0);
}}}
Swing组件介绍
在Java中,能够实现图形用户界面的类库两个:java.awt和javax.swing.后者是Java基础类库(JFC)的一个组成部分,提供了一套比前者功能更强,数量更多,更加美观的图形用户界面组件.
Swing和AWT最大差别在于Swing组件类不带本地代码,因此不受操作系统平台的限制,具有比AWT更强的功能,比如:Swing按钮和标签类可以显示图像标题且可被制作成非矩形形状,可以为Swing组件加边框,能够自动适应操作系统外观等.
发表评论
-
Saving JFreeChart as SVG vector images using Batik
2008-07-28 15:52 1751JFreeChart is a free Java class ... -
JfreeChart的使用
2008-07-28 13:42 1327先从网上找点介绍。 一、简介 WW 的发展使得基于 ... -
JPanel绘制的东西如何保存成图像
2008-07-28 10:40 3281[/color][color=darkred][color=d ... -
使用Java Servlet动态生成图片
2008-07-24 16:03 1968在Web应用中,经常需要动态生成图片,比如实时股市行情,各种统 ... -
Java解析JSON
2008-06-10 21:00 27780jsp文件 var people = { "pr ... -
Grizzly和comet介绍(译)
2008-06-10 20:59 2875感觉不是什么新技术,也不是什么新创意,可是一旦用起来可能对技术 ... -
DWR2.1 API Doc
2008-05-19 15:50 1236http://getahead.org/dwr-javadoc ... -
servlet/jsp 获取绝对路径和相对路径
2008-05-14 11:03 3136根目录所对应的绝对路径:request.getServletP ... -
load-on-startup作用
2008-05-14 10:53 2340load-on-startup 元素在web应 ... -
使用异步Servlet扩展AJAX应用程序
2008-05-12 23:30 1312作为Web应用程序模型的A ... -
关于Java的java.library.path
2008-04-30 00:37 16875java可以通过System.getProperty获得系统变 ... -
【转】JNI
2008-04-29 23:50 1363JNI是Java Native Interface的缩写。从J ... -
jni.h所在位置
2008-04-29 23:19 5180在%java_home%\include\下 -
servlet重定向
2008-04-23 14:20 9899在servlet/JSP编程中,服务器端重定向可以通过下面两个 ... -
CVS与Eclipse使用摘要
2008-04-16 17:08 22031. 在administrator下安装CVSNT版本,重启计 ... -
ServletContext和ServletConfig深度分析
2008-04-09 14:00 1345对于web容器来说,ServletContext接口定义了一个 ... -
JSP文件在浏览器中显示出现乱码的解决方法
2008-04-02 10:29 1759采用utf-8编码,在jsp文件中,加入下面2句即可: < ... -
GlassFish
2008-03-20 18:32 1529GlassFish社团正在开发一个免费,开源的Java EE5 ... -
jndi与jdbc的区别
2008-03-20 15:59 2774jndi给所有的命名目录服务提供统一的API前端,jdbc给所 ... -
Tomcat5.5下配置JNDI JDBC数据源
2008-03-20 15:57 14761 安装JDBC驱动 通常,将JDBC驱动安 ...
相关推荐
010101_【第1章:JAVA概述及开发环境搭建】_JAVA发展概述.rar
5.java集合概述.zip5.java集合概述.zip5.java集合概述.zip5.java集合概述.zip5.java集合概述.zip5.java集合概述.zip5.java集合概述.zip5.java集合概述.zip5.java集合概述.zip5.java集合概述.zip5.java集合概述.zip5....
java语言概述ppt,第一章java语言概述ppt,第一章,java语言概述ppt,第一章java语言概述ppt,第一章java语言概述ppt,第一章
Java语言概述 Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems公司(现已被Oracle公司收购)于1995年推出。它的设计目标是具有简单性、面向对象、健壮性、安全性、可移植性、高效性和多线程等特点,...
Java语言概述 Java是一种广泛使用的高级编程语言,由Sun Microsystems的James Gosling、Bill Joy和Eric Schmidt等人在1991年发起的“Green Project”中孕育而生。最初,这个项目的目标是为消费电子产品市场,特别是...
JAVA概述
Java语言重要概述 Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现已被Oracle公司收购)于1995年发布。它的设计目标是具有跨平台性、可移植性、安全性和高效性,使得Java成为开发桌面应用、Web...
### JAVA基础知识概述 #### 一、Java语言特点与体系结构 **Java** 是一种广泛使用的高级编程语言,因其强大的功能性和灵活性,在企业级应用、移动应用(尤其是Android平台)、Web应用等多个领域都有着不可替代的...
Java 概述 Java 是一种广泛应用于 Internet 和 WWW 的编程语言,它的出现对整个计算机产业产生了深远的影响。Java 语言的诞生是为了在电视、控制烤面包箱等家用消费类电子产品上进行交互式操作,后来逐渐成为 ...
java程序设计_课件_第1章__java语言概述.ppt
Java语言概述 Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems公司(现已被Oracle公司收购)于1995年推出。它的设计目标是具有跨平台性、可移植性、安全性和高效性,使得Java在各种领域都有广泛应用,...
Java语言概述 Java开发基础--Java语言概述 Java语言概述 了解Java语言历史和特点 理解Java语言规范 能够区分API、JDK的含义 Java的发展历史 1991年,Sun公司James Gosling领导的Green小组创建了一种新型语言,命名为...
Java编程语言是由Sun Microsystems开发的一种面向对象的编程语言,由James Gosling于1995年推出,作为Java 1.0(J2SE)的核心组成部分。随着时间的推移,Java经历了多次迭代和扩展,形成了Java SE(标准版)、Java ...
Java语言概述.ppt
一、Java概述 1. **平台无关性**:Java的跨平台特性源于其虚拟机(JVM,Java Virtual Machine),使得Java程序能在任何安装了JVM的设备上运行。 2. **类加载机制**:Java通过类加载器动态加载类,提高了程序的灵活性...
### Java GUI 事件监听知识点详解 #### 一、概述 在Java编程中,图形用户界面(GUI)的设计是一项重要的技能。对于初学者来说,掌握如何创建一个简单的界面,并且能够处理用户交互事件是非常必要的。本篇文章将...
Java教程之Java语言概述
Java语言是一种广泛应用于现代软件开发的高级编程语言,由Sun Microsystems的James Gosling于1991年发起,最初命名为Oak。随着Web的崛起,Java逐渐定位于互联网应用,并在1995年正式发布Java 1.0版本。自那时起,...
Java是一种广泛使用的高级编程语言,由Sun Microsystems公司在1991年为消费类电子产品市场而开发,最初命名为Oak。随着其发展,Java逐渐演变为一个通用的编程平台,尤其在1995年5月的Sun World大会上正式推出后,其...