學習java中的GUI必須要知道的兩點,你知道是什麼嗎?

2020-12-03 java學習

GUI就是圖形用戶界面

在諾基亞手機的時代

手機中有自帶的小遊戲

打開之後會有一個咖啡一樣的標誌

那個就是用GUI做的

感覺暴露年齡了o(╥﹏╥)o

現在讓我們來看一下吧~

GUI

窗口的創建

創建一個窗口並顯示出來用Frame

布局管理器

FlowLayout(流式布局管理器)

從左到右的順序排列。

Panel(面板)默認的布局管理器。

BorderLayout(邊界布局管理器)

東,南,西,北,中

Frame默認的布局管理器。

GridLayout(網格布局管理器)

規則的矩陣

CardLayout(卡片布局管理器)

選項卡

打開我們的eclipse多開幾個頁面,這就是卡片布局了

GridBagLayout(網格包布局管理器)

非規則的矩陣

就像圖片上的按鍵的布局,就是非規則矩陣布局

暫時就是這麼多了,剩下的知識點,以後我們做練習的時候順便提一下,下面就是重頭戲了

事件監聽

學習GUI需要知道的兩點

1)事件處理

事件:

用戶的一個操作(點擊滑鼠,敲擊鍵盤等操作)

事件源:

被操作的組件(按鈕等)

2)監聽器:

一個自定義類的對象, 實現了監聽器接口, 包含事件處理方法,把監聽器添加在事件源上, 當事件發生的時候虛擬機就會自動調用監聽器中的事件處理方法

窗體監聽

事件源是窗體,把監聽器註冊到事件源上,把事件對象傳遞給監聽器

WindowListener

用於接收窗口事件的偵聽器接口。

我們要知道實現一個接口,就要實現它裡面的所有的方法,效果就是這樣的

其實我們只是需要一個closing方法就可以了,那麼這裡就用到了一個適配器的原理,有一個抽象類windowAdapter

如果要實現 WindowListener 接口,則必須定義該接口內的所有方法。此抽象類將所有方法都定義為 null,所以只需針對關心的事件定義方法。

利用適配器類,我們的代碼可以優化成這個樣子

還可以繼續優化,利用匿名內部類~

這樣實現了

點擊上面的x就可以關閉窗口的操作了

滑鼠監聽

MouseListener

用於接收組件上的滑鼠事件(按下、釋放、單擊、進入或離開)的偵聽器接口。(要跟蹤滑鼠移動和滑鼠拖動,請使用 MouseMotionListener)

MouseAdapter

接收滑鼠事件的抽象適配器類。此類中的方法為空。此類存在的目的是方便創建偵聽器對象。

同上,我們直接利用匿名內部類的方式來寫代碼

鍵盤監聽和鍵盤事件

KeyListener

用於接收鍵盤事件(擊鍵)的偵聽器接口。旨在處理鍵盤事件的類要麼實現此接口(及其包含的所有方法),要麼擴展抽象 KeyAdapter 類(僅重寫有用的方法)

KeyAdapter

接收鍵盤事件的抽象適配器類。此類中的方法為空。此類存在的目的是方便創建偵聽器對象。

KeyEvent

表示組件中發生鍵擊的事件。

動作監聽

addActionListener

用於接收操作事件的偵聽器接口。

對處理操作事件感興趣的類可以實現此接口,而使用該類創建的對象可使用組件的 addActionListener 方法向該組件註冊。在發生操作事件時,調用該對象的 actionPerformed 方法。(這個沒有適配器)

默認監聽鍵盤空格鍵以及滑鼠左鍵

GUI的重點內容就是事件的監聽

小夥伴們吸收一下

剩下的內容

會在之後的練習中給大家演示的

今天就講到這裡啦,喜歡編程的小夥伴可以關注我哦!有學習方面的問題可以私信回覆:學習!

相關焦點

  • 你知道java反射機制中class.forName和classloader的區別嗎?
    趁此機會總結一下,正好看到面試中還經常問到。一、類加載機制上面兩種加載類的方式說到底還是為了加載一個java類,因此需要先對類加載的過程進行一個簡單的了解。(3)初始化:在虛擬機中根據class文件進行初始化。(4)使用:這個過程大家都明白。(5)卸載:使用完了,java虛擬機進行清理。對於class.forName和classloader來說針對的就是第一個過程,也就是加載過程。
  • 你知道什麼是Java嗎?
    如今網際網路行業發展越來越好,程式設計師也逐漸成為高薪的代表,而作為一個合格的為程式設計師,必不可少要掌握很多的程式語言,當中Java在這些程式語言中有著極其重要的地位。其實Java在很多外行人看來都是很籠統的概念,今天我們一起來了解一下。
  • 學習java的優勢是什麼?學習難度怎麼樣
    學習java成為了現在比較熱門的話題。Java是一種可以撰寫跨平臺應用軟體的面向對象的程序設計語言。  他容易學而且很好用,如果你學習過C++語言,你會覺得C++和Java很像,因為Java中許多基本語句的語法和C++一樣,像常用的循環語句,控制語句等和C++幾乎一樣,其實Java和C++是兩種完全不同的語言,Java只需理解一些基本的概念,就可以用它編寫出適合於各種情況的應用程式。同時截止到2018年8月,java領先其它語言幾乎4.5%。為世界第一程式語言。
  • Java8 lambda表達式
    java8中最大的變化就是引入了lambda表達式,一種緊湊的傳遞行為的方式,這也是本書剩下部分所要討論的內容,讓我們進入其中吧。編寫第一個lambda表達式swing是一個平臺無關的gui庫,在該庫中,有很多常見的習慣,比如為了知道用戶點點擊了什麼,註冊一個事件監聽器,這個事件監聽器可以執行一些操作響應用戶的輸入。
  • Java學習必不可少的十大網站
    這是我為學習java的同學們準備的網站集合。這些網站提供新聞,常見問題或訪談問題的答案,精彩的講座等。質量是好的網站的關鍵因素。我認為它們都具有最高的質量。在下文中,我還將分享如何使用這些網站進行學習或娛樂。1.
  • 通過「訪問修飾符」java想告訴我們什麼?
    在平時編寫代碼的時候我們一定會用到public、private這些「java訪問修飾符「,可是你知道java為什麼要設計這些「訪問修飾符」嗎?今天我們就一起來看看廢話少說,先看定義!01定義java有四個訪問修飾符public:被public修飾的成員可以被所有類訪問到protected:所修飾的成員會被位於同一包中所有類可以訪問到。
  • 開發崗位這麼多,為什麼選Java?你學Java了嗎-開課吧
    提到C++語言,很多人發現在使用過程中最容易出現的錯誤就是內存管理,而java有自動垃圾回收器,不用擔心內存。跨平臺,Java應用程式可以運行於不同的系統平臺零基礎學Java市場需求決定你的學習方向有對Java感興趣的同學就趕快學習起來吧,既然選擇要學Java語言現在就去做,現在永遠比未來早。時不等人,抓緊時間開始學習之旅吧。學習沒有捷徑,希望大家都能少走一些彎路,學有所成!
  • 學習液相,必須要知道的三大理論
    學習液相,必須要知道的三大理論高效液相色譜我們常用,如何操作自然難不倒我們,那麼,液相色譜的分析的理論基礎是什麼?這個你知道嗎?這一篇咱們好好學一學液相色譜的分析理論基礎,可以讓你更好地使用高效液相色譜儀。
  • 三角形電路Y電路什麼情況下不能相互轉換 作為電工你知道嗎
    企業維修電工,因為必須要與動力電路接觸,所以三角形電路,Y形電路為必知電路。 首先,了解一下什麼是三角形電路,以電動機電路為例,所謂的三角形電路,就是電動機內部引出的六個線端首位相連,組成的三個端點用來接三相電源的接線模式。
  • 高考生你不注意這兩點,不管是多努力也白費,又有多少家長知道呢
    其實在高考中這兩點是很重要的,如果自己不重視,或者自己不注意,只是一味複習,埋頭複習,不勞逸結合自己不管多努力都有可能白費,又有多少家長知道呢?第一適合自己的複習方法。高考最後的階段,此刻的複習一定要尋找適合自己的複習方法,這一點是很重要的,其實比努力更重要的是學習方法,要建立屬於自己的知識體系!一定要明白各科的知識帶點和框架,同時還要知道明知識點之間的關係和重難點!
  • 你知道嗎?宇宙中的天體,必須是圓的!
    圓形的天體真正的問題是:它們為什麼要保持其最小表面積?是因為太空太「擁擠」嗎:然而太空又是是那麼的廣闊。星星之間的距離動輒以光年計;即便太陽系內部行星之間的距離也得以「天文單位」計算(一天文單位=149597870公裡)。太陽系的直徑至少有2光年。太陽是太陽系老大,直徑 約140萬公裡。太陽自身質量佔太陽系總體質量的99.86%。可以肯定的是,星星們這種「保持其最小面積的趨勢」的原因絕不是因為宇宙太「擁擠」。
  • 你知道腦電波嗎? 腦電波是什麼鬼?
    你知道腦電波嗎? 腦電波是什麼鬼?時間:2016-12-01 11:04   來源:百度知道日報   責任編輯:沫朵 川北在線核心提示:原標題:你知道腦電波嗎? 腦電波是什麼鬼? 現代科學研究已經知道,人腦工作時會產生自己的腦電波,可用電子掃描儀檢測出,至少有四個重要的波段。
  • java軟體工程師的這些要求你有嗎?
    如今java是IT界數一數二的語言,許多程式設計師都想要成為java軟體工程師,那大家知道企業對於java軟體工程師的技術要求有哪些嗎?java軟體工程師的技術要求一.java技術要求:1.具有良好的Java語言基礎,面向對象編程基礎2.熟悉Struts、Hibernate、Spring等主流技術框架3.熟悉XML解析、Excel導出、文件上傳、發送E-mail等常見業務的實現二.資料庫技術要求1.掌握、運用SQLServer
  • 我的世界:你知道在沒有F3的基巖版中,MC玩家是如何找區塊的嗎?
    #絕地求生電競賽#玩了四年,我還不知道如何找區塊,這是一位基巖版玩家的自我嘲諷。java版玩家可能會迷惑不解:區塊而已,真的有那麼難找?我的世界:你知道在沒有F3的基巖版中,MC玩家是如何找區塊的嗎?《我的世界》中區塊是長、寬為16格,高為256格的區域,它們將整個地圖劃分為一個個區塊。在java版本中,玩家可使用F3+G的快捷鍵組合來顯示區塊邊界,但是在基巖版中並沒有F3這種功能!玩家只能憑自己的聰明才智來找區塊。
  • 學習前端需要知道哪些內容學習起來更容易
    我知道有些人開始從各行各業轉行到前端。有受周圍朋友影響的。甚至有感興趣的或者想提升自己的。那麼對於零基礎轉行學習的同學肯定以下一些疑問:web前端需要學習哪些知識,web前端的學習路線,以及學習web需要多長時間的問題。第一,想學web前端需要學什麼知識?
  • Java 生成隨機數的 5 種方式,你知道幾種?
    什麼情況下隨機數的生成線程安全:靜態方法使用 線程1在第一次調用 時產生一個生成器 ,使用當前時間作為種子。 線程2在第一次調用 時發現已經有一個生成器 ,則直接使用生成器。
  • 英國留學,你必須要知道這些學術文化
    去英國留學,肯定是一個漫長的學習過程,那麼我們要做的就是熟悉和適應英國留學生活。在這個過程中,我們也要學習英國的學術文化,融入到英國大學的學習氛圍之中。那麼英國有哪些學術文化呢?下面就給大家講解一下。  2.對於英國留學生而言,培養批判性判斷是必不可少的,這意味著你要能判斷一個論證是否連段和充分。  3.學習很多事實數據在某些學科是很重要的,但在大多數情況下,批判性的思維更加重要。
  • 學java可以做什麼?大數據前景和就業方向又是什麼樣的呢?
    學java可以做什麼?(1) Java可以用來做網站:很多大型網站都是用JSP寫的,JSP全名java server pages,這是一種動態網頁技術,比如我們熟悉的B站,很多政府網站都是用這個寫的所以想學習java的同學還可以負責網站方面的製作,這方面的崗位也比較多。
  • 關於光子嫩膚你必須要知道的事!
    然後我問她你做術後護理了嗎?她說沒有,連補水面膜都沒有敷……由此我發現好多姐妹都是這樣,對光子嫩膚有了一定的認識,知道它的原理、效果等等,但是卻不知道做了光子嫩膚以後應該做什麼護理,一不小心就會像我這姐妹一樣做了以後皮膚更差了。所以今天必須給大家科普一下光子嫩膚術後的注意事項。
  • 你知道爬行動物要注意一些什麼嗎?看完下面這篇文章你就知道了
    大家好,我是江哥說生活,今天要跟大家分享的就是我們的爬行動物。我們的爬行動物呢,如果大家都了解過的話,應該就知道會有一些品種。但是我們的爬行動物呢,分為可以家養的和不可以家養的。我們家養的爬行動物就是我們比較常見的蜥蜴啊,烏龜啊等等。但是這些動物我們平常要怎麼注意呢,然後需要注意一些什麼呢。