java中所以事件监听器接口(总结)

所有事件侦听器接口必须扩展的标记接口  是     public interfaceEventListener

1、 public interface ActionListener extends EventListener
         用于接收操作事件的侦听器接口。对处理操作事件感兴趣的类可以实现此接口,而使用该类创建的对象可使用组件的 addActionListener 方法向该组件注册。在发生操作事件时,调用该对象的 actionPerformed 方法。
       接口中的方法:    void actionPerformed(ActionEvent e)  发生操作时调用。 
2、public interface AdjustmentListener extends EventListener
        用于接收调整事件的侦听器接口。
    接口中的方法:   void adjustmentValueChanged(AdjustmentEvent e) 在可调整的值发生更改时调用该方法。

3、public interface ComponentListener extends  EventListener
        用于接收组件事件的侦听器接口。对处理组件事件感兴趣的类要么实现此接口(以及它包含的所有方法),要么扩展抽象 ComponentAdapter 类(只重写感兴趣的方法)。然后,根据该类创建的侦听器对象使用组件的 addComponentListener 方法向该组件注册。当组件的大小、位置或可见性发生更改时,可调用侦听器对象中的相关方法,并将 ComponentEvent 传递给它。 
         这些组件事件“仅”为通知目的而提供;AWT 将自动内部处理组件移动和调整大小,使 GUI 布局正常工作,而不管程序是否注册了一个 ComponentListener。
    接口中的方法: void componentResized(ComponentEvent e) 组件大小更改时调用。
                 void componentMoved(ComponentEvent e) 组件位置更改时调用。
                 void componentShown(ComponentEvent e) 组件变得可见时调用。
                 void componentHidden(ComponentEvent e)组件变得不可见时调用。

4、public interface ContainerListener extends EventListener
         用于接收容器事件的侦听器接口。对处理容器事件感兴趣的类要么实现此接口(以及它包含的所有方法),要么扩展抽象 ContainerAdapter 类(只重写感兴趣的方法)。然后,根据该类创建的侦听器对象使用组件的 addContainerListener 方法向该组件注册。当容器的内容因为添加和移除组件而更改时,可调用侦听器对象中的相关方法,并将 ContainerEvent 传递给它。 
         这些容器事件“仅”为通知目的而提供;AWT 将自动内部处理添加和移除操作,使程序正常工作,而不管该程序是否注册了一个 ComponentListener。 
         接口中的方法: void componentAdded(ContainerEvent e) 已将组件添加到容器中时调用。 
                 void componentRemoved(ContainerEvent e) 已从容器中移除组件时调用。

5、public interface FocusListener  extends EventListener
         用于接收组件上的键盘焦点事件的侦听器接口。对处理焦点事件感兴趣的类要么实现此接口(以及它包含的所有方法),要么扩展抽象 FocusAdapter 类(只重写感兴趣的方法)。然后,根据该类创建的侦听器对象使用组件的 addFocusListener 方法向该组件注册。当组件获得或失去键盘焦点时,可调用侦听器对象中的相关方法,并将 FocusEvent 传递给它。 
         接口中的方法: void focusGained(FocusEvent e) 组件获得键盘焦点时调用。
                 void focusLost(FocusEvent e) 组件失去键盘焦点时调用。

6、public interface ItemListener  extends EventListener
    接收项事件的侦听器接口。特别适于处理项事件的类实现此接口。然后,使用组件的 addItemListener 方法向该组件注册由此类创建的对象。选定项事件发生时,调用侦听器对象的 itemStateChanged 方法。 
         接口中的方法:void itemStateChanged(ItemEvent e)   在用户已选定或取消选定某项时调用。为此方法编写的代码将执行需要在已选定(或已取消选定)项时发生的操作。

7、public interface KeyListener  extends EventListener
         用于接收键盘事件(击键)的侦听器接口。旨在处理键盘事件的类要么实现此接口(及其包含的所有方法),要么扩展抽象 KeyAdapter 类(仅重写有用的方法)。 然后使用组件的 addKeyListener 方法将从该类所创建的侦听器对象向该组件注册。按下、释放或键入键时生成键盘事件。然后调用侦听器对象中的相关方法并将该 KeyEvent 传递给它。 
        接口中的方法:void keyTyped(KeyEvent e)  键入某个键时调用此方法。有关键入键事件的定义,请参见 KeyEvent 的类描述。 
                 void keyPressed(KeyEvent e) 按下某个键时调用此方法。有关按下键事件的定义,请参见 KeyEvent 的类描述。 
                 void keyReleased(KeyEvent e) 释放某个键时调用此方法。有关释放键事件的定义,请参见 KeyEvent 的类描述。 

8、public interface MenuDragMouseListener extends EventListener
       定义一个菜单鼠标拖动侦听器。 
       接口中的方法: void menuDragMouseEntered(MenuDragMouseEvent e) 当拖动的鼠标进入某一菜单组件的显示区域时调用。  
                 void menuDragMouseExited(MenuDragMouseEvent e) 当拖动的鼠标离开某一菜单组件的显示区域时调用。 
                 void menuDragMouseDragged(MenuDragMouseEvent e) 当鼠标被拖动到某一菜单组件的显示区域中时调用。 
                 void menuDragMouseReleased(MenuDragMouseEvent e)当在菜单组件的显示区域中释放拖动鼠标时调用。 

9、public interface MenuKeyListener extends EventListener
            接口中的方法:void menuKeyTyped(MenuKeyEvent e)   已键入某个键时调用。此事件发生在释放一个键后紧跟着按下一个键时。 
                  void menuKeyPressed(MenuKeyEvent e) 已按下某个键时调用。
                  void menuKeyReleased(MenuKeyEvent e) 已释放某个键时调用。
10、public interface MenuListener extends EventListener
             定义一个菜单事件侦听器。 
            接口中的方法:void menuSelected(MenuEvent e)      选择某个菜单时调用。
                  void menuDeselected(MenuEvent e) 取消选择某个菜单时调用。
                  void menuCanceled(MenuEvent e) 取消菜单时调用。
11、public interface MouseListener extends EventListener
            用于接收组件上“感兴趣”的鼠标事件(按下、释放、单击、进入或离开)的侦听器接口。(要跟踪鼠标移动和鼠标拖动,请使用 MouseMotionListener。) 旨在处理鼠标事件的类要么实现此接口(及其包含的所有方法),要么扩展抽象类 MouseAdapter(仅重写所需的方法)。 然后使用组件的 addMouseListener 方法将从该类所创建的侦听器对象向该组件注册。当按下、释放或单击(按下并释放)鼠标时会生成鼠标事件。鼠标光标进入或离开组件时也会生成鼠标事件。发生鼠标事件时,将调用该侦听器对象中的相应方法,并将 MouseEvent 传递给该方法。 
            接口中的方法:void mouseClicked(MouseEvent e)  鼠标按键在组件上单击(按下并释放)时调用。
                  void mousePressed(MouseEvent e) 鼠标按键在组件上按下时调用。 
                  void mouseReleased(MouseEvent e) 鼠标按钮在组件上释放时调用。 
                  void mouseEntered(MouseEvent e) 鼠标进入到组件上时调用。
                  void mouseExited(MouseEvent e) 鼠标离开组件时调用。
12、public interface MouseMotionListener extends EventListener
          用于接收组件上的鼠标移动事件的侦听器接口。(对于单击和其他鼠标事件,请使用 MouseListener。)旨在处理鼠标移动事件的类要么实现此接口(及其包含的所有方法),要么扩展抽象 MouseMotionAdapter 类(仅重写有用的方法)。 然后使用组件的 addMouseMotionListener 方法将从该类所创建的侦听器对象向该组件注册。移动或拖动鼠标时会生成鼠标移动事件。(将生成很多此类事件)。发生鼠标移动事件时,将调用该侦听器对象中的相应方法,并将 MouseEvent 传递给该方法。 
          接口中的方法:
         void mouseDragged(MouseEvent e)
鼠标按键在组件上按下并拖动时调用。在释放鼠标按键前,MOUSE_DRAGGED 事件被连续地传递到发起该拖动的组件(而不管鼠标位置是否处于该组件的边界内)。 由于拖放实现是与平台相关的,所以在本机拖放操作期间可能不传递 MOUSE_DRAGGED 事件。 
        void mouseMoved(MouseEvent e)    鼠标光标移动到组件上但无按键按下时调用。

13、public interface MouseWheelListener extends EventListener
          用于接收组件上的鼠标滚轮事件的侦听器接口。(对于单击和其他鼠标事件,请使用 MouseListener。对于鼠标移动和拖动,请使用 MouseMotionListener。) 旨在处理鼠标滚轮事件的类实现此接口(及其包含的所有方法)。 然后使用组件的 addMouseWheelListener 方法将从该类所创建的侦听器对象向该组件注册。旋转鼠标滚轮时生成鼠标滚轮事件。发生鼠标滚轮事件时,将调用对象的 mouseWheelMoved 方法。 
         接口中的方法: void mouseWheelMoved(MouseWheelEvent e)   鼠标滚轮旋转时调用。
14、public interface TextListener extends EventListener
           用于接收文本事件的侦听器接口。 旨在处理文本事件的类实现此接口。然后使用组件的 addTextListener 方法将从该类所创建的对象向该组件注册。当组件的文本改变时,将调用侦听器对象的 textValueChanged 方法。 
        接口中的方法: void textValueChanged(TextEvent e)   文本的值已改变时调用。为此方法所编写的代码在文本改变时执行所需的操作。 
15、public interface WindowFocusListener  extends EventListener
          用于接收 WindowEvent(包括 WINDOW_GAINED_FOCUS 和 WINDOW_LOST_FOCUS 事件)的侦听器接口。旨在处理 WindowEvent 的类要么实现此接口(及其包含的所有方法),要么扩展抽象 WindowAdapter 类(仅重写所需的方法)。然后使用 Window 的 addWindowFocusListener 方法将从该类所创建的侦听器对象向该 Window 注册。当通过打开、关闭、激活、停用、图标化或取消图标化,或者通过将焦点移入或移出 Window 而使该 Window 的状态改变时,将调用侦听器对象中的相关方法,并将 WindowEvent 传递给该方法。 
     接口中的方法:
          void windowGainedFocus(WindowEvent e) 
                                  该 Window 被设置为聚焦 Window 时调用,聚焦 Window 意味着该 Window 或其某个子组件将接收键盘事件。
          void windowLostFocus(WindowEvent e)
              该 Window 不再是聚焦 Window 时调用,不再是聚焦 Window 意味着不再传递键盘事件到该 Window 或其任意子组件。

16、public interface WindowListener extends EventListener
         用于接收窗口事件的侦听器接口。旨在处理窗口事件的类要么实现此接口(及其包含的所有方法),要么扩展抽象类 WindowAdapter(仅重写所需的方法)。然后使用窗口的 addWindowListener 方法将从该类所创建的侦听器对象向该 Window 注册。当通过打开、关闭、激活或停用、图标化或取消图标化而改变了窗口状态时,将调用该侦听器对象中的相关方法,并将 WindowEvent 传递给该方法。
         接口中的方法:
           void windowOpened(WindowEvent e)  窗口首次变为可见时调用。
           void windowClosing(WindowEvent e) 用户试图从窗口的系统菜单中关闭窗口时调用。
           void windowClosed(WindowEvent e) 因对窗口调用 dispose 而将其关闭时调用。
           void windowIconified(WindowEvent e) 窗口从正常状态变为最小化状态时调用。对于很多平台而言,已最小化的窗口将显示为窗口 iconImage 属性中所指定的图标。 
           void windowDeiconified(WindowEvent e) 窗口从最小化状态变为正常状态时调用。
           void windowActivated(WindowEvent e) 将 Window 设置为活动 Window 时调用。只有框架或对话框可以成为活动 Window。本机的窗口系统可能使用特殊装饰表示活动 Window 或其子窗口,如高亮显示标题栏。活动 Window 要么是聚焦 Window,要么是作为聚焦 Window 所有者的第一个 Frame 或 Dialog。
           void windowDeactivated(WindowEvent e)  当 Window 不再是活动 Window 时调用。只有框架或对话框可以成为活动 Window。本机的窗口操作系统可能使用特殊装饰表示活动 Window 或其子窗口,如高亮显示标题栏。活动 Window 要么是聚焦 Window,要么是作为聚焦 Window 所有者的第一个 Frame 或 Dialog。 
17、public interface WindowStateListener extends EventListener
          用于接收窗口状态事件的侦听器接口。 旨在处理窗口状态事件的类要么实现此接口(及其包含的所有方法),要么扩展抽象 WindowAdapter 类(仅重写所需的方法)。 然后使用 Window 的 addWindowStateListener 方法将从该类所创建的侦听器对象向该 Window 注册。当通过图标化、最大化等改变窗口状态时,就调用侦听器对象中的 windowStateChanged 方法,并将 WindowEvent 传递给该方法。 
    接口中的方法: 
             void windowStateChanged(WindowEvent e)窗口状态改变时调用。

  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!
### 回答1: 可以使用 Java 库 "jetty-http-client-transport-async" 来代理 EventSource 接口。 首先,需要将其添加到项目的依赖,在 Maven 可以这样添加: ``` <dependency> <groupId>org.eclipse.jetty.http</groupId> <artifactId>jetty-http-client-transport-async</artifactId> <version>9.4.32.v20200930</version> </dependency> ``` 然后,可以使用 HttpClient 和 EventSource 创建一个代理: ```java HttpClient httpClient = new HttpClient(new HttpClientTransportOverHTTP(), new SslContextFactory()); EventSource eventSource = new EventSource(httpClient, new URI("https://example.com/events")) { @Override public void onEvent(IncomingEvent event) { // Handle the event } }; eventSource.start(); ``` 在这个例子,"https://example.com/events" 是需要代理的 EventSource 服务的 URL。在 onEvent 方法可以处理接收到的事件。 ### 回答2: EventSource(事件源)接口是HTML5的一项技术,可以用于实现服务向客户端推送数据的功能。在Java,可以使用Java代理来实现EventSource接口。 首先,我们需要使用Java的HttpURLConnection类来发送GET请求获取服务推送的数据。创建一个名为EventSourceProxy的类,并实现EventSource接口。在类定义一个HttpURLConnection类型的成员变量以及其他必要的成员变量。 在EventSourceProxy类,我们需要定义一个名为connect的方法,用于建立与服务的连接。在connect方法,使用HttpURLConnection类打开一个URL连接,并设置连接属性。通过设置请求头字段"Accept"的值为"text/event-stream",告诉服务我们要接收服务推送的数据。 接下来,我们需要使用Java的多线程技术,在一个新的线程里监听EventSource连接,并处理服务端推送的数据。在该线程,使用HttpURLConnection类获取服务的数据流,并使用BufferedReader来读取服务发送的数据。根据SSE协议定义的规则,我们需要逐行读取数据流,并通过分割每一行数据来获取事件的类型和数据。 最后,根据SSE协议规定的格式,向前端推送服务发送的数据。根据事件的类型,我们可以选择将数据推送到相应的事件监听总结来说,通过使用Java代理EventSource接口,我们可以实现服务向客户端推送数据的功能。使用HttpURLConnection类发送GET请求,并利用多线程监听服务端推送的数据,即可实现EventSource接口的代理功能。 ### 回答3: 在Java使用代理来实现EventSource接口有以下几个步骤: 1. 导入所需的包:导入java.net包的URL和URLConnection类,以及java.io包的InputStreamReader和BufferedReader类。 2. 建立URL连接:使用URL类创建一个指向EventSource的URL连接对象,可以通过URL的构造函数传入EventSource的URL地址。 3. 设置连接属性:通过URLConnection对象设置连接的属性,例如设置请求头部信息,确定EventSource采用GET方法等。 4. 打开连接:通过URLConnection对象的openConnection()方法打开连接。 5. 获取输入流:从打开的连接获取输入流,即调用URLConnection对象的getInputStream()方法。 6. 封装输入流:使用InputStreamReader和BufferedReader类对输入流进行封装,以便按行读取。 7. 读取事件:使用BufferedReader对象的readLine()方法按行读取事件数据,直到读取到空行或者连接断开。 8. 处理事件数据:对读取到的事件数据进行处理,例如解析JSON数据、执行相应的逻辑操作等。 9. 关闭连接:在处理完所有事件后,关闭URLConnection对象和相关的IO流。 下面是简单的代码示例: ```java import java.net.*; import java.io.*; public class EventSourceProxy { public static void main(String[] args) throws Exception { // 创建EventSource的URL连接对象 URL eventSourceUrl = new URL("https://example.com/events"); // 替换为实际的EventSource的URL // 设置连接属性 HttpURLConnection connection = (HttpURLConnection) eventSourceUrl.openConnection(); connection.setRequestMethod("GET"); connection.setRequestProperty("Accept", "text/event-stream"); // 打开连接 connection.connect(); // 获取输入流 InputStreamReader inputStreamReader = new InputStreamReader(connection.getInputStream()); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); // 读取事件并处理 String eventLine; while ((eventLine = bufferedReader.readLine()) != null) { // 处理事件数据,例如输出到控制台 System.out.println(eventLine); } // 关闭连接和IO流 bufferedReader.close(); inputStreamReader.close(); connection.disconnect(); } } ``` 以上是使用Java代理EventSource接口的基本示例,根据实际情况可能需要根据EventSource规范做更多的处理,例如处理事件类型、重连机制等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值