最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java 入門圖形用戶界面設(shè)計之事件處理上

 更新時間:2022年02月16日 15:45:27   作者:小旺不正經(jīng)  
圖形界面(簡稱GUI)是指采用圖形方式顯示的計算機操作用戶界面。與早期計算機使用的命令行界面相比,圖形界面對于用戶來說在視覺上更易于接受,本篇精講Java語言中關(guān)于圖形用戶界面的事件處理

Java程序設(shè)計 圖形用戶界面 【七】事件處理上

事件處理

事件和監(jiān)聽器

事件:表示一個對象發(fā)生狀態(tài)變化

監(jiān)聽器:不斷地監(jiān)聽事件的變化,并根據(jù)這些事件進行相應(yīng)地處理

事件類 EventObject類

EventObject類的定義格式

public class EventObject extends Object implements Serializable{
	public EventObject(Object source){
	// 構(gòu)造一個發(fā)生事件的對象
	}
	public Object getSource(){
	// 返回一個事件對象
	}
	public String toString(){
	// 得到信息
	}
}

Java事件處理流程

image-20220211152021277

窗體事件

WindowListener是專門處理窗體事件的監(jiān)聽接口

方法 作用
void windowActivated(WindowEvent e) 將窗口變?yōu)榛顒哟翱跁r觸發(fā)
void windowDeactivated(WindowEvent e) 將窗口變?yōu)椴换顒哟翱跁r觸發(fā)
void windowClosed(WindowEvent e) 當(dāng)窗口被關(guān)閉時觸發(fā)
void windowClosing(WindowEvent e) 當(dāng)窗口正在關(guān)閉時觸發(fā)
void windowIconified(WindowEvent e) 窗口最小化時觸發(fā)
void windowDeiconified(WindowEvent e) 窗口從最小化恢復(fù)到正常狀態(tài)時觸發(fā)
void windowOpened(WindowEvent e) 窗口打開時觸發(fā)

實現(xiàn)WindowListener

import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;

public class WindowEventHandle implements WindowListener {
    @Override
    public void windowActivated(WindowEvent e) {
        System.out.println("窗口被選中");
    }

    @Override
    public void windowClosed(WindowEvent e) {
        System.out.println("窗口被關(guān)閉");
    }

    @Override
    public void windowClosing(WindowEvent e) {
        System.out.println("窗口關(guān)閉");
    }

    @Override
    public void windowDeactivated(WindowEvent e) {
        System.out.println("取消窗口選中");
    }

    @Override
    public void windowDeiconified(WindowEvent e) {
        System.out.println("窗口從最小化恢復(fù)");
    }

    @Override
    public void windowIconified(WindowEvent e) {
        System.out.println("窗口最小化");
    }

    @Override
    public void windowOpened(WindowEvent e) {
        System.out.println("窗口被打開");
    }
}

在窗體上注冊事件監(jiān)聽器

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

public class Hello {
    public static void main(String[] args) {
        JFrame frame = new JFrame("一");
        frame.addWindowListener(new WindowEventHandle());
        frame.setSize(500,300);
        frame.setBackground(Color.BLUE);
        frame.setLocation(500,500);
        frame.setVisible(true);
    }
}

image-20220211153339270

監(jiān)聽適配器

方便用戶進行事件處理的實現(xiàn)。以WindowAdapter為例,用戶只要繼承了此類,就可以根據(jù)自己的需要覆寫方法,如果現(xiàn)在只關(guān)心窗口關(guān)閉方法,則只在子類中覆寫windowClosing()方法即可

通過WindowAdapter實現(xiàn)監(jiān)聽

import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class WindowEventHandle extends WindowAdapter {
    @Override
    public void windowClosing(WindowEvent e) {
        super.windowClosing(e);
        System.out.println("窗口關(guān)閉");
        System.exit(1);
    }
}

而在窗體操作的代碼中,直接使用以上的監(jiān)聽器類即可

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

public class Hello {
    public static void main(String[] args) {
        JFrame frame = new JFrame("一");
        frame.addWindowListener(new WindowEventHandle());
        frame.setSize(500,300);
        frame.setBackground(Color.BLUE);
        frame.setLocation(500,500);
        frame.setVisible(true);
    }
}

image-20220211160600148

使用匿名內(nèi)部類

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

public class Hello {
    public static void main(String[] args) {
        JFrame frame = new JFrame("一");
        frame.addWindowListener(new WindowEventHandle(){
            @Override
            public void windowClosing(WindowEvent e) {
                super.windowClosing(e);
                System.exit(1);
            }
        });
        frame.setSize(500,300);
        frame.setBackground(Color.BLUE);
        frame.setLocation(500,500);
        frame.setVisible(true);
    }
}

如果現(xiàn)在使用適配器操作類,則直接編寫匿名內(nèi)部類就可以減少監(jiān)聽類的定義

到此這篇關(guān)于Java 入門圖形用戶界面設(shè)計之事件處理上的文章就介紹到這了,更多相關(guān)Java 事件處理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java運算符的知識點與代碼匯總

    Java運算符的知識點與代碼匯總

    這篇文章主要給大家總結(jié)介紹了關(guān)于Java運算符知識點與代碼的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • 解決Maven多模塊編譯慢的問題

    解決Maven多模塊編譯慢的問題

    這篇文章主要介紹了Maven多模塊編譯慢的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Spring?Security+JWT簡述(附源碼)

    Spring?Security+JWT簡述(附源碼)

    SpringSecurity是一個強大的可高度定制的認(rèn)證和授權(quán)框架,對于Spring應(yīng)用來說它是一套Web安全標(biāo)準(zhǔn),下面這篇文章主要給大家介紹了關(guān)于Spring?Security+JWT簡述的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • spring 自動注入AutowiredAnnotationBeanPostProcessor源碼解析

    spring 自動注入AutowiredAnnotationBeanPostProcessor源碼解析

    這篇文章主要介紹了spring自動注入AutowiredAnnotationBeanPostProcessor源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • 啟動Springboot項目時找不到Mapper的問題及解決

    啟動Springboot項目時找不到Mapper的問題及解決

    這篇文章主要介紹了啟動Springboot項目時找不到Mapper的問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • SpringBoot項目設(shè)置斷點debug調(diào)試無效忽略web.xml問題的解決

    SpringBoot項目設(shè)置斷點debug調(diào)試無效忽略web.xml問題的解決

    這篇文章主要介紹了SpringBoot項目設(shè)置斷點debug調(diào)試無效忽略web.xml問題的解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • 一文帶你了解FastExcel的使用

    一文帶你了解FastExcel的使用

    我們知道?EasyExcel?在作者從阿里離職之后就停止維護了,但在前兩周?EasyExcel?原作者推出了他的升級版框架?FastExcel,下面小編就來和大家聊聊FastExcel的具體使用吧
    2024-12-12
  • 詳解springboot的三種啟動方式

    詳解springboot的三種啟動方式

    這篇文章主要介紹了詳解springboot的三種啟動方式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06
  • Java方法參數(shù)傳遞如何實現(xiàn)

    Java方法參數(shù)傳遞如何實現(xiàn)

    這篇文章主要介紹了Java方法參數(shù)傳遞如何實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-05-05
  • Spring @Profile注解實現(xiàn)多環(huán)境配置

    Spring @Profile注解實現(xiàn)多環(huán)境配置

    這篇文章主要介紹了Spring @Profile注解實現(xiàn)多環(huán)境配置,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-04-04

最新評論

博客| 林芝县| 无棣县| 高碑店市| 天等县| 施秉县| 剑河县| 嘉义县| 海丰县| 鹤峰县| 云安县| 普陀区| 上虞市| 朝阳县| 永胜县| 星子县| 阳新县| 卓资县| 雅江县| 法库县| 华亭县| 鄱阳县| 温泉县| 天镇县| 秭归县| 比如县| 怀仁县| 昆山市| 那坡县| 盈江县| 南昌县| 潼南县| 温泉县| 宁蒗| 克什克腾旗| 青铜峡市| 南雄市| 惠水县| 隆德县| 岑巩县| 长沙市|