日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java语言学习--Swing中Button事件监听

發布時間:2024/3/26 java 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java语言学习--Swing中Button事件监听 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1 前言

今天在使用Java Swing中的JButton的事件觸發機制時遇到了許多問題,簡單的了解了一下。

2 事件監聽機制

事件監聽的機制如下圖所示分析。

3 代碼分析

3.1 分步解析

1.事件源注冊監聽器

JButton newButton = new JButton(); newButton.addActionLister(listener);

2.用戶觸發事件
例如單擊該按鈕
3.創建事件對象即ActionEvent Object

ActionEvent e;

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()

  • actionListener()接口
    我們看一下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。

  • actionPerformed()抽象方法
    Java API中的定義:

    actionPerformed()是actionListener()接口中聲明的一個抽象方法,在監聽器接收到觸發事件源時自動調用的,比如按下按鈕后,它和KeyListener,MouseLisenter,WindowListener等是同一性質的方法(分別對應鍵盤監聽、鼠標監聽、窗口監聽)。在這個方法中可以做相應的邏輯處理。
  • 總結

    以上是生活随笔為你收集整理的Java语言学习--Swing中Button事件监听的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。