Java內(nèi)置GUI Frame類(lèi)的使用
Java內(nèi)置GUI Frame類(lèi)
Frame概述
* 事件處理 * 事件: 用戶的一個(gè)操作
* 事件源: 被操作的組件
* 監(jiān)聽(tīng)器: 一個(gè)自定義類(lèi)的對(duì)象, 實(shí)現(xiàn)了監(jiān)聽(tīng)器接口, 包含事件處理方法,把監(jiān)聽(tīng)器添加在事件源上, 當(dāng)事件發(fā)生的時(shí)候虛擬機(jī)就會(huì)自動(dòng)調(diào)用監(jiān)聽(tīng)器中的事件處理方法
Frame創(chuàng)建
Frame創(chuàng)建窗口步驟:
1.創(chuàng)建Frame對(duì)象
2.設(shè)置窗體大小、位置、背景、圖標(biāo)
3.顯示窗口
代碼清單如下:

布局管理器
* FlowLayout(流式布局管理器)
* 從左到右的順序排列。
* Panel默認(rèn)的布局管理器。
* BorderLayout(邊界布局管理器)
* 東,南,西,北,中
* Frame默認(rèn)的布局管理器。
* GridLayout(網(wǎng)格布局管理器)
* 規(guī)則的矩陣
* CardLayout(卡片布局管理器)
* 選項(xiàng)卡
* GridBagLayout(網(wǎng)格包布局管理器)
* 非規(guī)則的矩陣
這里以FlowLayout布局管理器為例,添加兩個(gè)按鈕。
代碼清單如下:

窗體監(jiān)聽(tīng)
窗體監(jiān)聽(tīng)器

鼠標(biāo)監(jiān)聽(tīng)

鍵盤(pán)監(jiān)聽(tīng)

動(dòng)作監(jiān)聽(tīng)

適配器
什么是適配器 * 在使用監(jiān)聽(tīng)器的時(shí)候, 需要定義一個(gè)類(lèi)事件監(jiān)聽(tīng)器接口.
* 通常接口中有多個(gè)方法, 而程序中不一定所有的都用到, 但又必須重寫(xiě), 這很繁瑣.
* 適配器簡(jiǎn)化了這些操作, 我們定義監(jiān)聽(tīng)器時(shí)只要繼承適配器, 然后重寫(xiě)需要的方法即可.
適配器原理 * 適配器就是一個(gè)類(lèi), 實(shí)現(xiàn)了監(jiān)聽(tīng)器接口, 所有抽象方法都重寫(xiě)了, 但是方法全是空的.
* 適配器類(lèi)需要定義成抽象的,因?yàn)閯?chuàng)建該類(lèi)對(duì)象,調(diào)用空方法是沒(méi)有意義的
* 目的就是為了簡(jiǎn)化程序員的操作, 定義監(jiān)聽(tīng)器時(shí)繼承適配器, 只重寫(xiě)需要的方法就可以了.
【注】:Frame中的鼠標(biāo)監(jiān)聽(tīng)器、鍵盤(pán)監(jiān)聽(tīng)器、窗體監(jiān)聽(tīng)器都用到了適配器,采用適配器能大大簡(jiǎn)化代碼,避免重寫(xiě)所有的方法!
最后給出窗體樣式展示:

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
詳解SpringBoot優(yōu)雅編碼之Lombok加持
這篇文章主要介紹了詳解SpringBoot優(yōu)雅編碼之Lombok加持,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-06-06
java中的session對(duì)象及其常用方法小結(jié)
這篇文章主要介紹了java中的session對(duì)象及其常用方法小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07
SpringCloud通過(guò)Feign傳遞List類(lèi)型參數(shù)方式
這篇文章主要介紹了SpringCloud通過(guò)Feign傳遞List類(lèi)型參數(shù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03
IntelliJ IDEA同步代碼時(shí)版本沖突而產(chǎn)生出的incoming partial文件問(wèn)題的解決辦法
今天小編就為大家分享一篇關(guān)于IntelliJ IDEA同步代碼時(shí)版本沖突而產(chǎn)生出的incoming partial文件問(wèn)題的解決辦法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-10-10
ZooKeeper入門(mén)教程二在單機(jī)和集群環(huán)境下的安裝搭建及使用
本文是ZooKeeper入門(mén)系列教程,涵蓋ZooKeeper的安裝使及單機(jī)集群環(huán)境搭建,通過(guò)實(shí)例和大量圖表,結(jié)合實(shí)戰(zhàn),幫助學(xué)習(xí)者理解和運(yùn)用,有需要的朋友可以借鑒參考下2022-01-01
Java實(shí)現(xiàn)調(diào)用ElasticSearch?API的示例詳解
這篇文章主要為大家詳細(xì)介紹了Java調(diào)用ElasticSearch?API的效果資料,文中的示例代碼講解詳細(xì),具有一定的參考價(jià)值,感興趣的可以了解一下2023-03-03
帶你重新認(rèn)識(shí)MyBatis的foreach
這篇文章主要介紹了重新認(rèn)識(shí)MyBatis的foreach,本文提出了一種簡(jiǎn)化<foreach>寫(xiě)法的設(shè)想,更重要的是通過(guò)解決空集時(shí)生成的SQL語(yǔ)法問(wèn)題,更深刻地理解MyBatis的foreach的生成機(jī)制,需要的朋友可以參考下2022-11-11
Java 中橋接模式——對(duì)象結(jié)構(gòu)型模式的實(shí)例詳解
這篇文章主要介紹了Java 中橋接模式——對(duì)象結(jié)構(gòu)型模式的實(shí)例詳解的相關(guān)資料,希望通過(guò)本文大家能掌握這部分知識(shí),需要的朋友可以參考下2017-09-09

