Java界面设计之事件处理

当你把界面都设计好了,总需要添加相应的执行动作给组件,在JAVA中有相应的时间处理机制,叫做“监听器”,给组件添加相应执行动作的过程叫做“注册”,其中的“监听器”是一个接口,里面包含了相应的执行函数,要做的是自己实现其中的方法函数,然后“注册”给组件,通俗一点的话就是老妈让我去买酱油,老妈不关心我会转过几天街道,会怎样和老板到讨价还价怎样回家,老妈需要的最终结果是我能够将酱油交付到她的手中,期中买酱油的过程是我实现的,我就是事件处理机制里面的“监听器”接受老妈的指示,老妈让我买酱油去,就是对应将事件“注册”给我,呵呵,又一次完美体现了JAVA中实现与接口分离。

    JAVA中的组件事件有ActionEvent、KeyEvent、FocusEvent、ComponentEvent、MouseEvent、AdjustmentEvent等,每个组件支持其中的全部或者是一部分事件,相应的事件有相应的Listener来监听事件的发生并且实现接口的方法,程序员要做的事情就是创建一个事件的类对象,实现它里面的函数,然后将它注册给相应的组件,下面用代码演示一下:

 1 import javax.swing.*;
 2 import java.awt.*;
 3 import java.awt.event.*;
 4
 5 public class ButtonDemo  {
 6     private JFrame
 7     frame=new JFrame("ButtonDemo");
 8     private JButton
 9     b1 = new JButton("按钮1"),
10     b2 = new JButton("按钮2");
11     private JTextField
12     txt = new JTextField(10);
13     //这里是使用一个匿名类来实现对按钮的监听
14   private ActionListener bl = new ActionListener() {
15       //实现监听类中的抽象函数
16     public void actionPerformed(ActionEvent e) {
17       String name = ((JButton)e.getSource()).getText();
18       txt.setText(name);
19     }
20   };
21   public ButtonDemo () {
22       //将监听对象注册给两个按钮
23     b1.addActionListener(bl);
24     b2.addActionListener(bl);
25     frame.setLayout(new FlowLayout());
26     frame.add(b1);
27     frame.add(b2);
28     frame.add(txt);
29     frame.setVisible(true);
30     frame.setSize(200,150);
31
32   }
33   public static void main(String[] args) {
34    new ButtonDemo ();
35   }
36 } 

监听接口中如果有不止一个函数,而我只想实现其中的一个函数的时候,很显示程序是不能运行的,因为你必须实现接口当中的所有函数的时候,才可以通过编译,程序才可以跑起来,那应该怎们办纳?呵呵,显然JAVA语言设计者已经考虑到了这一点,所以提供了一个叫做“适配器”的家伙,它默认实现了接口当中的所有函数,继承“适配器”这个类,并覆盖你所该兴趣的那个函数就可以了:

1 class MyMouseListener extends MouseAdapter{
2     public void mouseClicked(MouseEvent e){
3         //实现当点击鼠标时的动作
4     }
5 } 

作者:Orson 
出处:http://www.cnblogs.com/java-class/ 
如果,您认为阅读这篇博客让您有些收获,不妨点击一下右下角的【推荐】 
如果,您希望更容易地发现我的新博客,不妨点击一下左下角的【关注我】 
如果,您对我的博客内容感兴趣,请继续关注我的后续博客,我是【Orson】 

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段 声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 

转载:http://www.cnblogs.com/java-class/archive/2012/12/02/2798607.html

时间: 2024-09-16 19:09:45

Java界面设计之事件处理的相关文章

用Eclipse进行可视化Java界面设计

设计 前言 最近,Eclipse开源项目终于推出了期待已久的Visual Editor Project(VEP).VE项目使得功能强大的eclipse平台在java开发方面又增加了一个可视化java组件开发利器.它让java开发者再也不用依赖其它的IDE产品来做GUI界面方面的工作.所有的开发,从应用程序界面到业务逻辑的开发,现在都可以在eclipse平台上完成.本文将引导开发者如何安装配置并使用Visual Editor. 关于Visual Editor 开始介绍之前,来看一个笔者用Visua

图片-java界面设计,加入滚动条

问题描述 java界面设计,加入滚动条 本人在编一个java界面,分为south,west,center三个方向,总体采用borderlayout表格布局. 三个容器内部采用gridbaglayout布局.以下是部分代码: taMsg是一个多行文本框,以下是定义: 这是把他加入panelcenter的代码: 这是刚才代码的运行界面图 想给这个多行文本框加一个滚动条,代码变成这样: 效果却成了这样 请问这是什么原因,是在大小设置的时候嘛,本人正在学习,请各位大神指导! 感激不尽! 另外有人知道这个

java逻辑布局-关于java界面设计的基本应用和布局

问题描述 关于java界面设计的基本应用和布局 我想知道,大体框架如何怎样去搭建一个界面,功能先不实现,具体监听器该在什么时候注册? 请大神讲讲代码的整洁和逻辑性,一般会开头定义要用的大部分组件,容器和组件之间又如何添加和运用布局管理器,本人新手,,,有的地方问的见笑了,请大神磨磨我这个新手,虚心学习-- 解决方案 iPad开发界面设计基本规范界面设计的基本技巧 解决方案二: 强烈建议使用easyUI

Java界面设计之页面管理器

 这是第一次在博客园里面写博客,是有关JAVA页面设计当中的布局管理器,可能大多数人会选择使用 NetBeans 或者是Eclipse 的组件来实现可视化拖拽组件来达到自己页面设计布局,因为是第一次做界面,总结一下,以供以后复习能用到. JAVA中Layout Mananager这次界面中主要用到的有BorderLayout.FlowLayout.GridLayout.GridLayBagout 1.BorderLayout是JFrame中的默认布局方式,如果你没有在容器类明确的定义布局方式,它

java页面设计之事件处理综合介绍_java

当你把界面都设计好了,总需要添加相应的执行动作给组件,在JAVA中有相应的时间处理机制,叫做"监听器",给组件添加相应执行动作的过程叫做"注册",其中的"监听器"是一个接口,里面包含了相应的执行函数,要做的是自己实现其中的方法函数,然后"注册"给组件,通俗一点的话就是老妈让我去买酱油,老妈不关心我会转过几天街道,会怎样和老板到讨价还价怎样回家,老妈需要的最终结果是我能够将酱油交付到她的手中,期中买酱油的过程是我实现的,我就是事

java源码-java课程设计登陆界面

问题描述 java课程设计登陆界面 java课程设计需要一个登陆界面,要包含登陆和注册,要最简单的代码,也要好理解 解决方案 参考:http://www.cnblogs.com/liwustore/archive/2013/01/01/2841492.html 解决方案二: 纯java还是web开发... 解决方案三: 对的,需要知道你是纯JAVA还是涉及到JAVAee 解决方案四: 应该是要java swing,有够懒的,这还要代码吗? 解决方案五: 是jsp的吗 首先创个Login.jsp

在Eclipse中使用SWT进行界面设计

设计 在Eclipse中使用SWT进行界面设计 SWT是一个IBM开发的跨平台GUI开发工具包.至于为什么IBM要费劲自己另起炉灶开发一个GUI工具包,而不是使用Sun现有的由AWT, Swing, Java 2D, Java 3D等构成的Java GUI框架,那就说来话长了.(记得在一个BBS上读过一个关于SWT起源的调侃类的帖子).1. 为什么要使用SWT? SWT是一个IBM开发的跨平台GUI开发工具包.至于为什么IBM要费劲自己另起炉灶开发一个GUI工具包,而不是使用Sun现有的由AWT

10个有用的界面设计的网络应用程序

 近年来,越来越多的桌面应用程序移植到互联网上面的.没有了平台限制和安装要求且作为一种服务模式的软件看起来很吸引人的.网络应用程序界面设计的核心是网页设计:但是,它的焦点主要集中在功能上面.为了和桌面程序竞争,网络应用程序必须提供简单,直观的以及响应快速的用户界面,这样才能减少用户完成事情的时间和精力.        过去我们没有用应有的方法来关注网络应用程序,现在该是仔细地研究一些有用的技术和设计方案,以便使网络应用程序更加友好和漂亮的.这篇文章阐述了第一部分我们在现代网络应用程序上面关于设计

浅析Java与C#的事件处理机制

Java与C#的事件处理都是实现了事件源-事件响应者机制,但又不完全相同.Java实现的 是一种事件源与事件响应者两级实体对象方式,这里的事件响应者也是事件监听者,而C#实 现的是一种事件源-代理-事件响应者三级实体对象方式.下面就这两种方式来具体说明. Java事件处理 从概念上讲,事件是一种在"源对象"和"监听 者对象"之间,某种状态发生变化的传递机制.事件有许多不同的用途,例如在Windows 系统中常要处理的鼠标事件.窗口边界改变事件.键盘事件等.在Java