java中事件处理探究

事件的触发可以源于用户,也可以用代码来主动设置事件的发生.如setSelected()java.awt.event中

听众接口事件类适配器类

ComponentListener

ContainerListener

FocusListener

KeyListener

MouseListener

MouseMotionListener

WindowListener

所有事件对象都是java.util.EventObject的子类.提供getSource方法用于返回对产生事件对象的引用AWTEvent.1. ChangeEvent它是一个轻量级事件,可与JSlider对象一起使用或其他.其重载方法为stateChanged().

2. ComponentEvent,在组件本身发生改变时调用.

ComponentListener方法调用ComponentEvent中的ID值触发事件的组件状态改变

componentHidden()COMPONENT_HIDDENhide

compoentShown()“““““`““

componentMoved()“““““““

componentResized()““““`““““`

3.FocusEvent

FocusListener方法调用

focusGained()

focusLost()

4.InputEvent.4.1KeyListenerkeyPressed(),keyReleased(),keyTyped()(输入字符)4.2MouseEventmouseClicked()单击鼠标,mouseEntered()光标进入组件区,mouseExited()光标离开组件区,mousePressed()按下鼠标,mouseReleased()放开鼠标4.3MouseMotionListenrmouseMoved()光标移到组件上,mouseDragged()按住鼠标并移动光标

5.InputMethodEvent,用于手写和语音输入

6.HierarchyEvent()与HierarchyListener,HirerarchyBoundsListener,组件层次关联的改变通知.

7.ContainerEvent容器对增删组件的监视.componentAdded(),componentRemoved()

8.窗口产生事件.WindowEvent

WindowListener方法调用触发事件的组件状态改变

windowActivated()成为活动窗口,即栈顶窗口

windowClosing()请求关闭操作,注意必须先setDefaultCloseOperation(DO_NOTHING_ON_CLOSE)

windowDeactivated()

windowDeiconified()不再图标化,即取消最小化恢复

windowIconified()窗口最小化

windowOpened()首次显示

closed()窗口关闭,相当于dispose(),关闭窗口和释放相关资源,,与隐藏是有区别的.

9.AbstractButton是许多常用swing组件的父类,包括(JButton,JToggleButton,JCheckBox,JRadioButton,JMenu,JMenuItem,JRadioButtonMenuItem,JCheckBoxMenuItem)每一个AbstractButtonAbstractButton子类生成一个ActionEvent,ChangeEvent,与ItemEvent().AbstractButton的每个实例维护几个不同的属性:Pressed, true标识正在按按钮.Armed,true标识释放鼠标键会激活按钮.Enabled,表示是否能改变按钮状态,Rollover,true表示按钮启用行为..Selected,是否选择.

9.1.ActionEvent用于按钮,单击,文本enter等actionPerformed(),

9.2 ItemSelectable,ItemEvent.itemStateChanged(),ItemEvent类定义定义了一个getStateChanged()方法,返回一个整数值.这个值可以是SELECTED ,DESELECTED.

10.JMenuItem中产生的.MenuDragMouseEvetMenuKeyEvent

11.JMenu中产生的.MenuEvent.menuCanceled(),menuDeselected(),menuSelected()

12.由JTextCompoentComponent(JTextArea,JTextPane,JTextField,JEditorPane)产生的事件(插入点事件,文本选择该表事件等)12.1CaretEvent与CaretListener.提供两个方法.getDot()标识文本组件的插入点位置,getMark()标识选择块的起点..注意:起点值可能等于,大于或小于插入点位置,若起点值等于插入点位置,则没有选择文本.caretUpdate()

12.2.JTextField可以注册ActionListener用于监听enter键,

12.3JEditorPane.可以显示不同类型的文本(如RTF,HTML文档)当JEditorPane中嵌入超链接时,光标进入或离开,或单击超链接时产生事件HyperlinkEvent. hyperlinkUpdate(). HyperlinkEvent使用getEventType()返回内部类EventType实例引用,这个引用是EventType三个静态实例之一,用于标识激活,一进一出.如if(event.getEventType()==HyperlinkEvent.EventType.ACTIVATED/ENTERED/EXITED){}.同时还提供getURL()返回链接的URL实例.getDescription()返回链接的文本描述.

13.由文档实现方法产生的事件.在swing的MVC模型中,数据在文本组件中显示,它与文本组件是分开的.文本组件提供数据的视图,而javax.swing.text.Document接口的方法实现维护模型(即数据本身).Document对象通过JComponent子类的对象的getDocument()方法取得.Document只支持普通文本,没有字符属性(即所有文本的字体,颜色均为相同的).但是StyledDocument接口接口提供了各个字符属性制定支持.JTextComponent及其子类的每个实例有一个相关联的Document实现方法,维护在组件中显示的数据.JTextField与JTextArea默认用PlainDocument但也可以特意指定.DocumentEvent在为文档发生某种改变时发生.注意DocumentEvent事件的源是Document而非它的显示组件.,getDocument()返回事件源的引用.getType()表示事件的性质(如插入文本,删除文本等),还提供getLength()与getOffset()表示改变影响的字符数,以及文档发生改变的位置偏移量.getChange()可以得到特定元素或文档组件的改变信息.DocumentListener方法调用:changedUpdate()文本样式改变,insertUpdate()插入,removeUpdate()删除

13.1输入验证.应用程序通常需要限制或验证输入.(如文本字段可能只允许输入数字或要限制长度)可以通过重写Document对象.13.2UndoableEditEvent(文本撤消,重做)完成步骤:1.生成javax.swing.undo.UndoManager实例,维护相关信息2.生成请求,然后委托给UndoManager,由它进行相关操作3.把文本组件的Dcoument注册为UndoableEditListener.收到UndoableEditEvent时,应该,通过addEdit()将其编辑信息加入UndoManager.undoableEditHappened()UndoManager有几个常用方法:canUndo(),canRedo()返回boolean值用于条件判断.

14.由JList产生的事件ListSelectionEvent,重写的valueChanged()ListDataListener

15.由JComboBox产产生的事件(下拉)ActionEvent与两个ItemEvent

16.由JPopupMenu生成的事件PopupMenuEvent17由ScrollBar产生的事件AdjustmentEvent

18.JTree相关

,香港服务器,网站空间,服务器空间爱情唯美短句子

java中事件处理探究

相关文章:

你感兴趣的文章:

标签云: