当前位置:  编程技术>java/j2ee

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

    来源: 互联网  发布时间:2014-10-22

    本文导语:  当你把界面都设计好了,总需要添加相应的执行动作给组件,在JAVA中有相应的时间处理机制,叫做“监听器”,给组件添加相应执行动作的过程叫做“注册”,其中的“监听器”是一个接口,里面包含了相应的执行函数,要...

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

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

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class ButtonDemo {
private JFrame
frame=new JFrame("ButtonDemo");
private JButton
b1 = new JButton("按钮1"),
b2 = new JButton("按钮2");
private JTextField
txt = new JTextField(10);
//这里是使用一个匿名类来实现对按钮的监听
private ActionListener bl = new ActionListener() {
//实现监听类中的抽象函数
public void actionPerformed(ActionEvent e) {
String name = ((JButton)e.getSource()).getText();
txt.setText(name);
}
};
public ButtonDemo () {
//将监听对象注册给两个按钮
b1.addActionListener(bl);
b2.addActionListener(bl);
frame.setLayout(new FlowLayout());
frame.add(b1);
frame.add(b2);
frame.add(txt);
frame.setVisible(true);
frame.setSize(200,150);
}
public static void main(String[] args) {
new ButtonDemo ();
}
}

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

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

    
 
 

您可能感兴趣的文章:

  • 关于java的事件问题,如何在程序中使一个button被click,从而引发这个button的事件处理代码????
  • java抓取鼠标事件和鼠标滚轮事件示例
  • Java List双击事件实现方法
  • java 事件中的GEIID()怎么用?谢谢
  • 在java中如何人工触发事件?
  • java的事件处理机制如何运用?
  • “Java的事件是从无到有,MFC的消息是从有到无。”
  • JAVA事件处理
  • 有关Java中事件
  • Java Event!!!事件!!
  • JSplitPane如何动态调整左右帧的大小?如何监听窗口变大,缩小的事件?(java中好像没有)
  • 请问:java上,jRadioButtonod的事件是什么?
  • 请关注一下java的事件机制!
  • 一个关于java事件处理的简单问题!
  • java随机事件分发器示例
  • java中多点传送(同一个事件可同时传送给多个监听器对象corejava1例8.6)采用哪种设计模式谢谢
  • 我想问一下java的事件驱动机制是如何实现的,如何实现自定义的事件驱动?不够再加100!
  • 高手指教:关于鼠标事件(java.awt.event.MouseEvent e)!
  • Java添加事件监听的四种方法代码实例
  • 为Java应用程序添加退出事件响应
  • 在JSP页面中能否显示JB中的对话框或者JAVA应用程序?是在web页面内显示。谢谢高手指点
  • 能在JavaScript中访问Jsp页面的Java对象?
  • java.util类对象的DATE方法为何不能用? <%=new java.util.date()%>,在页面中是这样写的,服务器用的是Resin.
  • 如何用JAVA实现访问静态页面上的……
  • Java的图片展示页面生成工具 Nail6
  • 能否给个在JSP页面中用JAVA画线条和矩形的简单例子,谢谢!
  • Linux下调用JSP页面产生无法找到Java Beans的错误
  • 利用Java 技术,怎样把JSP页面中的表格数据导入到microsoft Excel中
  • Error 500 在JSP页面中出现的原因到底是什么?java代码不规范?
  • 请教:java bean在实例在各个页面共享???
  • java 页面url传值中文乱码的解决方法
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 我想编一个把javac和java连起来用的批处理文件,请批处理文件中的参数怎么表示?
  • Java脚本处理器 jxp
  • Java图像处理框架 Marvin
  • Java图像处理库 jrawio
  • java进行error捕获和处理示例(java异常捕获)
  • Java五线谱处理类库 abc4j
  • Java多媒体处理工具包 Jffmpeg
  • Java的图像处理和分析库 ImageJ
  • java处理word,pdf文档
  • Java图像处理类库 JJIL
  • **java适合做数据处理吗?**
  • Java文本处理工具包 ORO
  • Java命令行参数处理类库 Commons CLI
  • 简洁实用的Java Base64编码加密异常处理类代码
  • 大家来谈谈JAVA中的异常处理!
  • java中消息处理的机制?
  • Java的GML处理包 GML4J
  • Java 的图像处理库 Imagero
  • Java自然语言处理 LingPipe
  • Java的PDF处理类库 PDFBox
  • java命名空间java.sql类types的类成员方法: java_object定义及介绍
  • 我想学JAVA ,是买THINK IN JAVA 还是JAVA2核心技术:卷1 好???
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: imageflavor定义及介绍
  • 请问Java高手,Java的优势在那里??,Java主要适合于开发哪类应用程序
  • java命名空间java.lang.management类managementfactory的类成员方法: getcompilationmxbean定义及介绍
  • 如何将java.util.Date转化为java.sql.Date?数据库中Date类型对应于java的哪个Date呢
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getlibrarypath定义及介绍
  • 数据库 iis7站长之家
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getstarttime定义及介绍
  • 本人想学java,请问java程序员的待遇如何,和java主要有几个比较强的方向
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: stringflavor定义及介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3