成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

全面介紹Swing容器

開發 后端
本文全方位介紹Swing容器,包括Swing初體驗,布局,頂層Swing容器和Swing容器控件等。

Swing初體驗

對于想學習Swing編程的朋友,我們特地為大家準備了一些小竅門。首先,下載并閱讀代碼是極有必要的。由于這是一篇關于Swing的教程,所以,我們只是盡可能講解一些與Swing有關的內容,與Swing無關的內容一般不會涉及,例如算法部分。其次,受篇幅限制,也不可能在這里將每部分代碼都寫得完完整整的,所以,大家也需要對照完整代碼來看。最后,為了使大家更容易把精力集中在Swing學習上,我們也將游戲開發中所需資源放在下載文件中,大家下載后便能夠編譯運行,看到執行結果。(下載游戲源文件)

1.頂層Swing容器

什么是頂層Swing容器?當我們使用Java進行圖形編程的時候,圖在哪里繪制呢?我們需要一個能夠提供圖形繪制的容器,這個容器就被稱為頂層容器,你也可以把它想象成一個窗口。頂層容器是進行圖形編程的基礎,一切圖形化的東西,都必然包括在頂層容器中。在Swing中,我們有三種可以使用的頂層容器,它們分別是:

JFrame:用來設計類似于Windows系統中的窗口形式的應用程序。

JDialog:和JFrame類似,只不過JDialog是用來設計對話框。

JApplet:用來設計可以在嵌入在網頁中的Java小程序。

如果需要使用Swing制作一個窗口類程序,我們的代碼看起來應該是這樣:

  1. import javax.swing.*;  
  2.  
  3. public class KyodaiUI  
  4. extends JFrame {  
  5. ……  

2.Swing容器控件

控件是構成應用程序界面的基本元素,按鈕、文本框、進度條等,這些都是控件。控件(這里我們只討論可視化控件)又可以分為容器控件和非容器控件。從字面意義上來理解,容器控件就是能包含其他控件的特殊控件,例如,Java中的JPanel控件就屬于容器型控件,我們可以在JPanel中放置按鈕、文本框等非容器控件,你甚至可以在JPanel中再放置若干個JPanel控件(值得注意的是,頂層容器也是容器型控件,每一個窗口應用程序中有且只能有一個頂層容器控件,換句話說,頂層容器不能包括在其他的控件中)。

Java中的容器控件有很多,除剛才提到的JPanel外,還有JTabbedPane、JScrollPane等,非容器控件有JButton、JLabel、JTextField等。如果你需要向某個容器型的控件中添加控件,你可以使用 add(Component comp) 方法來實現,如:

  1. JPanel panel = new JPanel();  
  2. JButton button = new JButton();  
  3. panel.add(button); 

3.布局

什么是布局?布局是Java中用來控制控件排列位置的一種界面管理系統。使用過其他可視化編程開發語言的人在初次接觸Java界面設計時,總會感覺到Java界面設計很別扭:居然沒有提供所見即所得的設置控件坐標的方法!然而,事實證明,Java本身提供的布局管理系統也一樣能夠出色地完成我們的需要,而且在跨平臺時表現得更有優勢。

常用的布局有:

BorderLayout:將界面分割為上下左右以及中間一塊區域的管理系統,在BorderLayout布局中,最多你只能放5個控件,如果超過5個控件,建議還是選用其他的布局系統吧。

GridLayout:GridLayout是將用戶界面切割為棋盤一樣的布局管理系統。如果我們要設計一個類似于Windows中自帶的計算器軟件,GridLayout無疑是最佳選擇。

FlowLayout:FlowLayout與上述兩類布局管理系統不太一樣,在FlowLayout中,你不必指定每個控件放在哪,你只需要把控件加入到FlowLayout中,FlowLayout就會根據你添加控件的順序依次放置控件,如果空間不夠,會自動換行。

在對這幾個布局管理系統有了基本認識后,我們就一起來進入界面設計吧。在仔細觀察了QQ游戲中“連連看”的設定后,我們可以發現,整個界面分為三個區,頂部是系統菜單區,占地面積最大的是用戶游戲區,另外還有一個用戶交互區,每個區域中都由若干控件組成。

這么多控件,我們從哪開始入手呢?由于容器控件中可以放置其他控件,因此,我們只需要先確定放置的容器控件就可以了。 既然已經知道需要使用容器控件的個數,接下來讓我們就進入布局管理系統的選擇。用GridLayout?似乎有點勉強,用FlowLayout?還有更好的選擇嗎?對了,我想你一定想到了是BorderLayout吧。

動手之前,大家一定要注意的是,界面的設計要先考慮好尺寸,不管是主程序界面的大小還是每個區域的大小,如果沒有設計好合適的尺寸,將來改動起來會十分痛苦。

下面便是相應的源程序:

  1. import java.awt.*;  
  2. import javax.swing.*;  
  3.  
  4. public class KyodaiUI extends JFrame {  
  5. public KyodaiUI() {  
  6. this.setSize(780, 500); //將窗體的大小設定為780*500  
  7. this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
  8. this.setResizable(false); //窗體不能改變大小  
  9. this.setTitle("連連看"); 

【編輯推薦】

  1. Swing容器組件的顯示效果
  2. 淺談.Net與Java Swing相比
  3. 詳解Swing組件相應外觀
  4. Java Swing事件處理方法
  5. 淺談Swing支持透明和不規則窗口
責任編輯:佚名 來源: 中國IT實驗室
相關推薦

2009-07-15 16:39:51

AWT和Swing

2009-07-14 16:30:41

Swing與SWT

2009-07-10 18:06:59

JTree Swing

2009-07-15 10:37:28

Swing外觀

2009-07-10 15:41:27

Swing AWT

2009-07-15 18:06:38

Swing線程

2009-07-10 14:41:57

Swing技術

2009-07-17 11:13:46

AWT和SwingSwing組件

2009-07-17 14:38:51

輕量級Swing組件

2009-07-15 10:23:51

Swing SWT集成

2012-01-17 13:41:34

JavaSwing

2009-09-16 10:38:43

LINQ查詢

2009-09-28 13:49:44

Hibernate Q

2009-07-17 15:30:30

JFaceAWT和SWTSwing

2009-09-23 17:41:05

Hibernate事務

2009-09-25 09:46:03

Hibernate s

2009-09-28 10:24:58

Hibernate基礎

2019-11-10 09:30:44

LinuxLinux權限

2009-07-09 14:22:44

2009-07-10 13:20:37

Swing容器組件
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩欧美一区二区三区免费观看 | 欧美日韩久久 | 国产视频中文字幕 | 四虎影院在线播放 | 欧美一区视频 | 黄色免费av| 99伊人 | 欧美亚洲第一区 | 国产精品日韩欧美一区二区 | 欧美日韩一区二区三区四区 | 99爱国产| 2018中文字幕第一页 | 亚洲人成人一区二区在线观看 | 国产91丝袜在线播放 | 国产成人综合网 | 亚洲va国产日韩欧美精品色婷婷 | 亚洲国产精品久久久久婷婷老年 | 国产视频精品区 | 亚洲精品视频在线看 | 日本三级全黄三级a | 国产亚洲网站 | 日日操夜夜操天天操 | 日本精品一区 | 精品一二区| 毛片在线视频 | 亚洲欧美日韩一区二区 | 国产欧美日韩精品一区二区三区 | 最新av在线网址 | 亚洲精品视频在线播放 | 日本精品视频一区二区 | 国产成人精品一区二区三区网站观看 | 国产在线麻豆精品入口 | 欧美一级免费 | 欧美精品久久久久 | 一区二区视频在线 | 久久成人一区 | www.97国产| 成人美女免费网站视频 | 99精品一区二区三区 | 91麻豆产精品久久久久久夏晴子 | 国产在线精品区 |