大家好,今天小編來為大家解答以下的問題,關于javaswing是什么,javax.swing是什么意思這個很多人還不知道,現在讓我們一起來看看吧!
為什么一提到java的swing和awt組件,大家都不建議學
早期的java主要是應用在web開發方面,所以從實用的角度出發,確實可以略過AWT和Swing的學習。在移動端開發流行之后,AWT和Swing又成為一個必修的內容了,因為做Android開發如果有一定的AWT基礎是比較好的,很多概念是統一的。
為了描述這個問題,我們首先要了解到底什么是AWT,什么是Swing,以及它們與Android開發有什么聯系。
AWT與Swingjava語言第一個支持圖形界面開發的API就是AWT,在AWT中定義了java圖形界面的很多核心概念,所以要了解java的圖形界面開發方式一定要從了解AWT開始。下面分別介紹一下AWT中的三個核心概念:容器、組件、布局。
圖形容器是存放圖形元素的場所和環境,java中把容器分為頂級容器和次頂級容器。頂級容器可以單獨顯示、次頂級容器不能單獨顯示。頂級容器的代表是Frame,次頂級容器的代表是Panel。
圖形組件是具體的圖形應用元素,比如Button(按鈕)、TextField(文本框)、Label(標簽)、Choice(下拉列表)等等,每一個圖形組件代表一種具體的圖形應用元素。
布局的作用是安排圖形組件在容器中的排列樣式,常見的布局方式有BorderLayout、FlowLayout和GridLayout等。其中BorderLayout是Frame的默認布局管理器,FlowLayout是Panel的默認布局管理器。
具體的圖形開發根據不同的界面設計采用不同的容器、布局和組件進行搭配組合,復雜的圖形組件遵循頂級容器嵌套次頂級容器的方式來完成。
Swing與AWT相比較最大的優點是輕量級方式,Swing不依賴于本地操作系統,所以在樣式上能夠進行統一。在寫法上采用了在AWT的類名基礎上增加一個大寫的J字符,比如在AWT中的Frame改為JFrame,Button改為JButton等等。
在實際的開發中比較推薦使用Swing的方式,一個原因是Swing的組件在外觀上更具備科技感,另一個原因是它占用的資源較AWT更少。
事件處理說到AWT和Swing一定要說一下圖形組件的事件處理方式,Java中的事件處理方式采用了監聽的方式,也可以稱為“代理”的方式。事件處理類通過實現具體的接口來完成對應的事件處理,比如ActionEvent對應的ActionListener接口;KeyEvent對應的KeyListener接口;MouseEvent對應的MouseListener接口和MouseMotionListener接口;WindowEvent對應的WindowListener接口等等。
這種處理方式讓圖形界面類和事件處理類進行了有效的分離,在代碼處理上更加方便和靈活,在Swing的很多組件中也遵循了MVC的結構,讓代碼更加容易模塊化。
總的來說java中的事件處理并不復雜,通過一定的實驗就能完全掌握,所有這并不是學習的負擔。
AWT與Android開發的關系傳統的java圖形處理方式并不完全適用于Android開發,在Android開發中通常采用配置文件的方式來完成Activity的創建,當然也可以使用代碼的方式來完成Android的界面開發。
不管使用哪種方式來創建Android界面,大體的概念是一致的,比如布局、組件等等,只不過名稱上有所區別,比如AWT中的Flowlayout對應于Android的布局是LinearLayout等,雖然名稱不同但是概念是一致的。
事件處理方式也是大體一致,不過android開發中提供了基于回調的事件處理方式,這種方式在做一些簡單的事件處理時比較方便。
所以如果將來要從事Android開發還是建議系統地學習一下AWT或Swing。
關注我,學習更多關于java開發的內容。
Java寫GUI用swing還是JavaFX呢
學校里,大部分學的還是swing和awt,學校里面教授的,基本偏老舊,至于企業,就不知道了,基本上用java寫的,大多是網站,后端等,用java寫gui的感覺比較少見。
關于javaswing是什么的內容到此結束,希望對大家有所幫助。