Java语言学习--Swing中Button事件监听
生活随笔
收集整理的這篇文章主要介紹了
Java语言学习--Swing中Button事件监听
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1 前言
今天在使用Java Swing中的JButton的事件觸發機制時遇到了許多問題,簡單的了解了一下。
2 事件監聽機制
事件監聽的機制如下圖所示分析。
3 代碼分析
3.1 分步解析
1.事件源注冊監聽器
JButton newButton = new JButton(); newButton.addActionLister(listener);2.用戶觸發事件
例如單擊該按鈕
3.創建事件對象即ActionEvent Object
4.將事件的對象傳遞給監聽器并調用監聽器方法
@Overridepublic void actionPerformed(ActionEvent e) {// 相應的邏輯判斷if(e.getSource()==jb){this.dispose();// 點擊按鈕時frame1銷毀,new一個frame2new frame2();}}3.2 分析2
以上代碼也可以這樣設計:
JButton newButton = new JButton();newButton.addActionLister(listener);//事件源注冊監聽器newButton.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {if(e.getSource()==jb) {this.dispose();// 點擊按鈕時frame1銷毀,new一個frame2new frame2();}}); }4 實例演示
例如,點擊按鈕,后臺輸出一句話。
public static void main(String[] args) {JFrame jf = new JFrame("事件監聽測試");jf.setVisible(true);jf.setSize(100, 200);JButton jb = new JButton("觸發事件");jf.add(jb);jb.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// 進行邏輯處理即可System.out.println("觸發了事件");}});}5 詳解actionListener()和actionPerformed()
我們看一下Java API(https://docs.oracle.com/javase/10/docs/api/java/awt/event/ActionListener.html)中關于actionListener()接口的定義。
The listener interface for receiving action events. The class that is
interested in processing an action event implements this interface,
and the object created with that class is registered with a component,
using the component’s addActionListener method. When the action event
occurs, that object’s actionPerformed method is invoked.
簡單點說,actionListener()接口是Java中關于事件處理的一個接口,繼承自EventListener。
Java API中的定義:
actionPerformed()是actionListener()接口中聲明的一個抽象方法,在監聽器接收到觸發事件源時自動調用的,比如按下按鈕后,它和KeyListener,MouseLisenter,WindowListener等是同一性質的方法(分別對應鍵盤監聽、鼠標監聽、窗口監聽)。在這個方法中可以做相應的邏輯處理。
總結
以上是生活随笔為你收集整理的Java语言学习--Swing中Button事件监听的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何强制性的卸载IE11浏览器
- 下一篇: mondrian mysql 实例_MO