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

Java GUI事件處理及添加對話框?qū)崿F(xiàn)方式

 更新時(shí)間:2026年02月04日 09:45:31   作者:小俱的一步步  
文章介紹了Java中事件處理的基本概念和實(shí)現(xiàn)方法,包括事件源、事件對象、監(jiān)聽器以及不同類型的事件處理,如按鈕點(diǎn)擊、鼠標(biāo)、鍵盤和窗口事件,還提供了使用JOptionPane進(jìn)行對話框操作的示例

事件處理

在窗口添加好面板和組件之后,但只是一個(gè)界面,不能執(zhí)行其中的功能,需要添加事件處理來實(shí)現(xiàn)相應(yīng)的功能。用戶與GUI組件進(jìn)行交互就會(huì)發(fā)生事件,如:按下一個(gè)按鈕、用鍵盤輸入一個(gè)字符、點(diǎn)擊鼠標(biāo)等。

Java中,事件處理的基本思路:

  • 一個(gè)源(事件源)產(chǎn)生一個(gè)事件(事件對象)并把它送到監(jiān)聽器那里,監(jiān)聽器只是簡單地等待,直到它收到一個(gè)事件,一旦事件被接受,監(jiān)聽器將處理這些事件;
  • 一個(gè)事件源必須注冊監(jiān)聽器以便監(jiān)聽器可以接受關(guān)于一個(gè)特定事件的通知。

1.按鈕點(diǎn)擊事件

例如向按鈕1添加點(diǎn)擊事件:

jButton1.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                System.out.println("點(diǎn)擊登錄");
            }
        });

2.鼠標(biāo)事件

向按鈕2添加鼠標(biāo)事件:

jButton2.addMouseListener(new MouseListener() {
            @Override
            public void mouseClicked(MouseEvent e) {
                System.out.println("鼠標(biāo)點(diǎn)擊");
            }

            @Override
            public void mousePressed(MouseEvent e) {
                System.out.println("鼠標(biāo)按下,但沒有松開");
            }

            @Override
            public void mouseReleased(MouseEvent e) {
                System.out.println("鼠標(biāo)松開");
            }

            @Override
            public void mouseEntered(MouseEvent e) {
                System.out.println("鼠標(biāo)懸停");
            }

            @Override
            public void mouseExited(MouseEvent e) {
                System.out.println("鼠標(biāo)移走");
            }
        });

3.鍵盤事件

例如向文本域添加鍵盤事件

jTextField.addKeyListener(new KeyListener() {
            @Override
            public void keyTyped(KeyEvent e) {
//                System.out.println("鍵盤輸入完成");
            }

            @Override
            public void keyPressed(KeyEvent e) {
//                System.out.println("鍵盤按下");
            }

            @Override
            public void keyReleased(KeyEvent e) {
//                "釋放鍵盤"
                System.out.println(jTextField.getText());
            }
        });

4.添加窗口事件

例如向當(dāng)前窗口添加窗口事件:

this.addWindowListener(new WindowAdapter() {//窗口適配器WindowAdapter,也可使用new WindowListener()
            @Override
            public void windowClosing(WindowEvent e) {
                int res = JOptionPane.showConfirmDialog(null,"確定退出聊天室?","操作提示",JOptionPane.OK_CANCEL_OPTION);//彈出一個(gè)對話框
                if (res == 0){//確認(rèn)退出
                    dispose();
                }
            }
        });

對話框

JOptionPane對話框

1.showMessageDialog():消息對話框

  • 五種消息類型,圖標(biāo)不同:
ERROR_MESSAGE 錯(cuò)誤消息提示
INFORMATION_MESSAGE 信息提示
WARNING_MESSAGE        警告提示
QUESTION_MESSAGE  問題提示
PLAIN_MESSAGE        簡潔提示
  • 例如:
JOptionPane.showMessageDialog(null, "發(fā)送內(nèi)容不能為空");
  • 圖示:

 

2.showConfirmDialog():確認(rèn)對話框

主要有四種消息類型圖標(biāo)不同:

DEFAULT_OPTION       默認(rèn)選項(xiàng)
YES_NO_OPTION 是/否選項(xiàng)
YES_NO_CANCEL_OPTION是/否/取消選項(xiàng)
OK_CANCEL_OPTION確定/取消
  • 例如:
JOptionPane.showConfirmDialog(null,"確定退出聊天室?","操作提示",JOptionPane.OK_CANCEL_OPTION);
  • 圖示: 

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringBoot參數(shù)校驗(yàn)的最佳實(shí)戰(zhàn)教程

    SpringBoot參數(shù)校驗(yàn)的最佳實(shí)戰(zhàn)教程

    開發(fā)過程中,后臺(tái)的參數(shù)校驗(yàn)是必不可少的,下面這篇文章主要給大家介紹了關(guān)于SpringBoot參數(shù)校驗(yàn)的最佳實(shí)戰(zhàn),文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2021-08-08
  • SpringBoot使用Tika進(jìn)行文檔解析的完整指南

    SpringBoot使用Tika進(jìn)行文檔解析的完整指南

    Tika是一款A(yù)pache開源的,跨平臺(tái),支持多品種文本類型的內(nèi)容檢測和提取工具,本文主要為大家介紹了SpringBoot使用Tika進(jìn)行文檔解析的完整步驟,希望對大家有所幫助
    2025-07-07
  • Java LongAdder使用與應(yīng)用實(shí)戰(zhàn)

    Java LongAdder使用與應(yīng)用實(shí)戰(zhàn)

    LongAdder是 Java 并發(fā)編程中為高并發(fā)計(jì)數(shù)而生的利器,本文就來詳細(xì)的介紹一下Java LongAdder的使用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2025-10-10
  • 運(yùn)用springboot搭建并部署web項(xiàng)目的示例

    運(yùn)用springboot搭建并部署web項(xiàng)目的示例

    這篇文章主要介紹了運(yùn)用springboot搭建并部署web項(xiàng)目的示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-06-06
  • Spring Cloud微服務(wù)之間調(diào)用Dubbo的詳細(xì)過程

    Spring Cloud微服務(wù)之間調(diào)用Dubbo的詳細(xì)過程

    SpringCloudAlibabaDubbo是阿里巴巴開源的Dubbo與SpringCloud的深度集成方案,本文介紹Spring Cloud微服務(wù)之間調(diào)用Dubbo的詳細(xì)過程,感興趣的朋友跟隨小編一起看看吧
    2026-02-02
  • Java修改maven的默認(rèn)jdk版本為1.7的方法

    Java修改maven的默認(rèn)jdk版本為1.7的方法

    這篇文章主要介紹了Java修改maven的默認(rèn)jdk版本為1.7的方法,需要的朋友可以參考下
    2018-02-02
  • 關(guān)于log4j2的異步日志輸出方式

    關(guān)于log4j2的異步日志輸出方式

    這篇文章主要介紹了關(guān)于log4j2的異步日志輸出方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Java實(shí)現(xiàn)駝峰與下劃線互轉(zhuǎn)的方法

    Java實(shí)現(xiàn)駝峰與下劃線互轉(zhuǎn)的方法

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)駝峰與下劃線互轉(zhuǎn)的方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-04-04
  • 淺聊一下Spring中Bean的配置細(xì)節(jié)

    淺聊一下Spring中Bean的配置細(xì)節(jié)

    我們知道,當(dāng)寫完一個(gè)普通的 Java 類后,想讓 Spring IoC 容器在創(chuàng)建類的實(shí)例對象時(shí)使用構(gòu)造方法完成實(shí)例對象的依賴注入,那么就需要在配置元數(shù)據(jù)中寫好類的 Bean 定義,包括各種標(biāo)簽的屬性。所以本文我們來說說這其中的配置細(xì)節(jié),需要的朋友可以參考下
    2023-07-07
  • HertzBeat 監(jiān)控 SpringBoot 使用案例(最新整理)

    HertzBeat 監(jiān)控 SpringBoot 使用案例(最新整理)

    文章介紹HertzBeat作為無Agent的SpringBoot監(jiān)控工具,支持指標(biāo)采集、Grafana可視化、閾值告警及多通道通知,簡化云原生監(jiān)控流程,本文給大家介紹HertzBeat監(jiān)控SpringBoot使用案例,感興趣的朋友一起看看吧
    2025-08-08

最新評論

靖宇县| 建瓯市| 弥勒县| 长兴县| 保德县| 石屏县| 长沙市| 达拉特旗| 吐鲁番市| 浦城县| 温泉县| 昭苏县| 清流县| 西盟| 临夏县| 平舆县| 镇平县| 井陉县| 九江县| 桂东县| 个旧市| 五家渠市| 锡林浩特市| 福建省| 辽阳县| 将乐县| 三门峡市| 绵竹市| 金昌市| 镶黄旗| 兖州市| 玛纳斯县| 佛学| 永安市| 廊坊市| 大名县| 斗六市| 平乡县| 井陉县| 府谷县| 江孜县|