网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>JAVA>>新手入门>>基础入门>查看文档  
  swing读书笔记事件处理     
  文章作者:未知  文章来源:水木森林  
  查看:75次  录入:管理员--2007-11-17  
 

++ swing读书笔记事件处理

2-1:事件处理:
source                                    event                                      event listener
--------------------------------------------------------------------------------------------------------------
abstractbutton                         actionevent                                  actionlistener
(jbutton,jtogglebutton,                changeevent                                  changelistener
jcheckbox,jradiobutton                 itemevent                                    itemlistener
-------------------------------------------------------------------------------------------------------
jtextfield                             actionevent                                  actionlistener
jpasswordfield                         caretevent                                   caretlistener
                                       documentevent                                documentlistener
                                       undoableevent                                undoablelistener
-------------------------------------------------------------------------------------------------------
jtextarea                              caretevent                                   caretlistener
                                       documentevent                                documentlistener
                                       undoableevent                                undoablelistener
-------------------------------------------------------------------------------------------------------
jtextpane                              caretevent                                   caretlistener
jeditorpane                            documentevent                                documentlistener
                                       undoableevent                                undoablelistener
                                       hyperlinkevent                               hyperlinklistener
-------------------------------------------------------------------------------------------------------
jcombobox                              actionevent                                  actionlistener
                                       itemevent                                    itemlistener
-------------------------------------------------------------------------------------------------------
jlist                                  listselectionevent                           listselectionlistener
                                       listdataevent                                listdatalistener
-------------------------------------------------------------------------------------------------------
jfilechooser                           actionevent                                  actionlistener
-------------------------------------------------------------------------------------------------------
jmenuitem                              actionevent                                  actionlistener
                                       changeevent                                  changelistener
                                       itemevent                                    itemlistener
                                       menukeyevent                                 menukeylistener
                                       menudragmouseevent                           menudragmouselistener
-------------------------------------------------------------------------------------------------------
jmenu                                  menuevent                                    menulistener
-------------------------------------------------------------------------------------------------------
jpopupmenu                             popupmenuevent                               popupmenulistener
-------------------------------------------------------------------------------------------------------
jprogressbar                           changeevent                                  changelistener
-------------------------------------------------------------------------------------------------------
jslider                                changeevent                                  changelistener
-------------------------------------------------------------------------------------------------------
jscrollbar                             adjustmentevent                              adjustmentlistener
-------------------------------------------------------------------------------------------------------
jtable                                 listselectionevent                           listselectionlistener
                                       tablemodeevent                               tablemodelistener
                                       tablecolumnmodelevent                        tablecolumnmodelistener
                                       celleditorevent                              celleditorlistener
-------------------------------------------------------------------------------------------------------
jtabbedpane                            changeevent                                  changelistener
-------------------------------------------------------------------------------------------------------
jtree                                  treeselectionevent                           treeselectionlistener
                                       treeexpansionevent                           treeexpansionlistener
                                       treewillexpandevent                          treewillexpandlistener
                                       treemodeevent                                treemodelistener    
-------------------------------------------------------------------------------------------------------
jtimer                                 actionevent                                  actionlistener
-------------------------------------------------------------------------------------------------------    
        底层事件:

---------------------------------------------------------------------------------------------------------------

     event                                                                     listener
  componentevent                                                        componentlistener
  containerevent                                                        conatainerlistener
  focusevent                                                            focuslistener
  keyevent                                                              keylistener
  mouseevent                                                            mouselistener
  mousemotionevent                                                      mousemotionlistener
  windowevent                                                           windowlistener
componentevent:主要处理组件大小的改变,位置的改变,或是可见与不可见状态(hidden or visible)等。
containerlistener:主要在处理组件的加入或移出容器。
focuslistener:主要在处理焦点的取得或移开焦点等操作。
mouselistener:主要就是在处理鼠标是否在某个组件上,是否按下鼠标键,是否离开某个组件等操作,主要针对鼠标按键与位置
              作处理。
mousemotionlistener:主要就是在追踪鼠标的位置,如(x,y)坐标的位置,主人是针对鼠标坐标与拖曳操作作处理。
windowlistener:主要在处理窗口的所有操作。如处理active窗口或是de-active窗口,处理窗口的最大、最小化,处理窗口的关闭
               、打开、退出等。

  以上所述的每种eventlistener都是一种interface,里面只有定义这个eventlistener的interface,然后在这个类中,把要处理事
件的程序代码写在此interface的方法中。这是处理事件的标准操作,当然还有其他编写模式,如:利用inner class的匿名类方法
,就可以不用在class后面加上implements eventlistener的表示法,或是利用adapter类,就不用一一将interface中的每种方法都
实现。
  让我们来了解一下,每一种eventlistener的interface到底提供了哪几种方法要我们实现(implement)!我们把事件区分成是由
swing或是awt所引发:
       swing eventlistener                                          method
----------------------------------------------------------------------------------------------------------------
         caretlistener                                        caretupdate(caretevent e)
--------------------------------------------------------------------------------------------------------------
         celleditorlistener                                   editingcanceled(changeevent e)
                                                              editingstopped(changeevent e)
--------------------------------------------------------------------------------------------------------------
         changelistener                                       statechanged(changeevent e)
--------------------------------------------------------------------------------------------------------------
         documentlistener                                     changedupdate(documentevent e)
                                                              insertupdate(documentevent e)
                                                              removeupdate(documentevent e)
--------------------------------------------------------------------------------------------------------------
         hyperlinklistener                                    hyperlinkupdate(hyperlinkevent e)
--------------------------------------------------------------------------------------------------------------
         listdatalistener                                     contentschanged(listdataevent e)
                                                              intervaladded(listdataevent e)
                                                              intervalremoved(listdataevent e)
--------------------------------------------------------------------------------------------------------------
         listselectionlistener                                valuechanged(listselectionevent e)
--------------------------------------------------------------------------------------------------------------
         menudragmouselistener                                menudragmousedragged(menudragmouseevent e)
                                                              menudragmouseentered(menudragmouseevent e)
                                                              menudragmouseexited(menudragmouseevent e)
                                                              menudragmousereleased(menudragmouseevent e)
--------------------------------------------------------------------------------------------------------------
         menukeylistener                                      menukeypressed(menukeyevent e)
                                                              menukeyreleased(menukeyevent e)
                                                              menukeytyped(menukeyevent e)
--------------------------------------------------------------------------------------------------------------
         menulistener                                         menucanceled(menuevent e)
                                                              menudeselected(menuevent e)
                                                              menuselected(menuevent e)
--------------------------------------------------------------------------------------------------------------
         popupmenulistener                                    popupmenucanceled(popupmenuevent e)
                                                              popupmenuwillbecomeinvisible(popupmenuevent e)
                                                              popupmenuwillbecomevisible(popupmenuevent e)
--------------------------------------------------------------------------------------------------------------
         tablecolumnmodellistener                             columnadded(tablecolumnmodelevent e)
                                                              columnmarginchanged(changeevent e)
                                                              columnmoved(tablecolumnmodelevent e)
                                                              columnremoved(tablecolumnmodelevent e)
                                                              columnselectionchanged(listselectionevent e)
--------------------------------------------------------------------------------------------------------------
         tablemodellistener                                   tablechanged(tablemodelevent e)
--------------------------------------------------------------------------------------------------------------
         treeexpansionlistener                                treecollapsed(treeexpansionevent event)
                                                              treeexpanded(treeexpansionevent event)
---------------------------------------------------------------------------------------------------------------
         treemodellistener                                    treenodeschanged(treemodelevent e)
                                                              treenodesinserted(treemodelevent e)
                                                              treenodesremoved(treemodelevent e)
                                                              treestructurechanged(treemodelevent e)
---------------------------------------------------------------------------------------------------------------
         treeselectionlistener                                valuechanged(treeselectionevent e)
---------------------------------------------------------------------------------------------------------------
         treewillexpandlistener                               treewillcollapse(treeexpansionevent event)
                                                              treewillexpand(treeexpansionevent event)
---------------------------------------------------------------------------------------------------------------
         undoableeditlistener                                 undoableedithappened(undoableeditevent e)
---------------------------------------------------------------------------------------------------------------
                   

            awt eventlistener                                         method                      
                 --------------------------------------------------------------------------------------------------------------
          actionlistener                                       actionperformed(actionevent e)
--------------------------------------------------------------------------------------------------------------
          adjustmentlistener                                   adjustmentvaluechanged(adjustmentevent e)
--------------------------------------------------------------------------------------------------------------
          componentlistener                                    componenthidden(componentevent e)
                                                               componentmoved(componentevent e)
                                                               componentresized(componentevent e)
                                                               componentshown(componentevent e)
--------------------------------------------------------------------------------------------------------------
          containerlistener                                    componentadded(containerevent e)
                                                               componentremoved(containerevent e)
--------------------------------------------------------------------------------------------------------------
          focuslistener                                        focusgained(focusevent e)
                                                               focuslost(focusevent e)
--------------------------------------------------------------------------------------------------------------
          itemlistener                                         itemstatechanged(itemevent e)
--------------------------------------------------------------------------------------------------------------
          keylistener                                          keypressed(keyevent e)
                                                               keyreleased(keyevent e)
                                                               keytyped(keyevent e)
--------------------------------------------------------------------------------------------------------------
          mouselistener                                        mouseclicked(mouseevent e)
                                                               mouseentered(mouseevent e)
                                                               mouseexited(mouseevent e)
                                                               mousepressed(mouseevent e)
                                                               mousereleased(mouseevent e)
--------------------------------------------------------------------------------------------------------------
          mousemotionlistener                                  mousedragged(mouseevent e)
                                                               mousemoved(mouseevent e)
--------------------------------------------------------------------------------------------------------------
          windowlistener                                       windowactivated(windowevent e)
                                                               windowclosed(windowevent e)
                                                               windowclosing(windowevent e)
                                                               windowdeactivated(windowevent e)
                                                               windowdeiconified(windowevent e)
                                                               windowiconified(windowevent e)
                                                               windowopened(windowevent e)
---------------------------------------------------------------------------------------------------------------

常用的adapter类如下:
              adapter                                           对应的eventlistener
---------------------------------------------------------------------------------------------------------------
         java.awt.event.componentadapter                      componentlistener
         java.awt.event.containeradapter                      containerlistener
         java.awt.event.focusadapter                          focuslistener
         java.awt.event.keyadapter                            keylistener
         java.awt.event.mouseadapter                          mouselistener
         java.awt.event.mousemotionadapter                    mousemotionlistener
         java.awt.event.windowadapter                         windowlistener
---------------------------------------------------------------------------------------------------------------
   在java中提供两个方法让你知道到底是哪个组件触发了事件,那就是getsource()与getactioncommane();getactioncommand()
方法是actionevent类所提供,而getsource()方法是eventobject类所提供,但actionevent类继承了eventobject类,因此这两个
方法actionevent都可以使用,看下面的例子就知道了:
eventdemo5.java

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class eventdemo5 extends windowadapter implements actionlistener
{
    jbutton b1 = null;
    jbutton b2 = null;
   
    public eventdemo5()
    {
        jframe f = new jframe("eventdemo5");
        container contentpane = f.getcontentpane();
        contentpane.setlayout(new gridlayout(1,2));
        b1 = new jbutton("按我有声音喔");
        b2 = new jbutton("按我可开新窗口");
        b1.addactionlistener(this);
        b2.addactionlistener(this);
        contentpane.add(b1);
        contentpane.add(b2);
        f.pack();
        f.show();
        f.addwindowlistener(this);
    }

    public void actionperformed(actionevent e)
    {
        if(e.getsource()==b1)//getsource判断哪个按钮被按下了。
            toolkit.getdefaulttoolkit().beep();
        if(e.getsource()==b2)
        {
            jframe newf = new jframe("新窗口");
            newf.setsize(200,200);
            newf.show();
        }
    }
   
    public void windowclosing(windowevent e)
    {
        system.exit(0);
    }
   
    public static void main(string args[])
    {
        new eventdemo5();
    }
}

-------------------------------------------------------------------------------------------------------------
eventdemo6.java 

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class eventdemo6 extends windowadapter implements actionlistener
{
    jbutton b1 = null;
    jbutton b2 = null;
   
    public eventdemo6()
    {
        jframe f = new jframe("eventdemo6");
        container contentpane = f.getcontentpane();
        contentpane.setlayout(new gridlayout(1,2));
        b1 = new jbutton("按我有声音喔");
        b2 = new jbutton("按我可开新窗口");
        b1.addactionlistener(this);
        b2.addactionlistener(this);
        contentpane.add(b1);
        contentpane.add(b2);
        f.pack();
        f.show();
        f.addwindowlistener(this);
    }

    public void actionperformed(actionevent e)
    {
        if((e.getactioncommand()).equals("按我有声音喔")) //getactioncommand()方法会返回按钮上的文字字符串。
            toolkit.getdefaulttoolkit().beep();
        if((e.getactioncommand()).equals("按我可开新窗口"))
        {
            jframe newf = new jframe("新窗口");
            newf.setsize(200,200);
            newf.show();
        }
    }
   
    public void windowclosing(windowevent e)
    {
        system.exit(0);
    }
   
    public static void main(string args[])
    {
        new eventdemo6();
    }
}

     

 
 
上一篇: swing读书笔记jinternalframe的使用    下一篇: swing组件jlist的列表数据修改了,如何通知jlist改变显
  相关文档
java编程语言中创建和使用日期的详细介绍 04-09
use itext to create a html 11-17
使用模仿对象进行单元测试 11-17
java的文件对象操作 11-17
静态和实例初始化块的使用说明 11-17
erlang十分钟快速入门 11-17
java嵌入式开发之三 11-16
eclipse中报错的解决方案 11-17
如何在java se中使用hibernate 11-17
spring关于底层资源的抽象 11-17
xalan-javaxslt处理器及其分割功能 11-17
教你如何利用javacc将hql转换为sql 11-17
java初学者备忘录 11-17
java基础:java中对象和简单数据对象 12-14
java: 尽可能使用堆栈变量 11-16
global 对象 11-16
只支持单表映射的持久化框架──easydbo 02-20
用java做数字签名 11-17
漫谈ejb——enterprise javabeans(三) 11-17
用eclipse进行可视化java界面设计(1) 11-17
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
技术电话:13616026886
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息