溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

swing組件是什么

發(fā)布時(shí)間:2020-10-30 17:03:55 來(lái)源:億速云 閱讀:184 作者:小新 欄目:編程語(yǔ)言

這篇文章將為大家詳細(xì)講解有關(guān)swing組件是什么,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

 Swing 是 Java 為圖形界面應(yīng)用開發(fā)提供的一組工具包,是 Java 基礎(chǔ)類的一部分。

Swing 包含了構(gòu)建圖形界面(GUI)的各種組件,如: 窗口、標(biāo)簽、按鈕、文本框等。

Swing 提供了許多比 AWT 更好的屏幕顯示元素,使用純 Java 實(shí)現(xiàn),能夠更好的兼容跨平臺(tái)運(yùn)行。

為了和 AWT 組件區(qū)分,Swing 組件在javax.swing.*包下,類名均以 J 開頭,例如: JFrame、JLabel、JButton等。

推薦課程:Java教程。

Swing組件

一個(gè) Java 的圖形界面,由各種不同類型的“元素”組成,例如: 窗口、菜單欄、對(duì)話框、標(biāo)簽、按鈕、文本框等等,這些“元素”統(tǒng)一被稱為 組件(Component)。

組件按照不同的功能,可分為 頂層容器、中間容器、基本組件。一個(gè)簡(jiǎn)單窗口的組成,如下層級(jí)結(jié)構(gòu)所示:

頂層容器

菜單欄

中間容器

基本組件

基本組件

組件類型的繼承關(guān)系:

頂層容器 屬于窗口類組件,繼承自java.awt.Window;

中間容器 和 基本組件 繼承自javax.swing.JComponent。

(1)頂層容器

頂層容器屬于窗口類組件,可以獨(dú)立顯示,一個(gè)圖形界面至少需要一個(gè)窗口,例如:

#
組件
描述
1
JFrame
一個(gè)普通的窗口(絕大多數(shù) Swing 圖形界面程序使用 JFrame 作為頂層容器)
2
JDialog
對(duì)話框

(2)中間容器

中間容器充當(dāng)基本組件的載體,不可獨(dú)立顯示。中間容器可以添加若干基本組件(也可以嵌套添加中間容器),對(duì)容器內(nèi)的組件進(jìn)行管理,類似于給各種復(fù)雜的組件進(jìn)行分組管理。最頂層的一個(gè)中間容器必須依托在頂層容器(窗口)內(nèi)。

常用的中間容器(面板):

#
組件
描述
1
JPanel
一般輕量級(jí)面板容器組件    
2
JScrollPane
帶滾動(dòng)條的,可以水平和垂直滾動(dòng)的面板組件    
3
JSplitPane
分隔面板  
4
JTabbedPane
選項(xiàng)卡面板
5
JLayeredPane
層級(jí)面板    

特殊的中間容器:

#
組件
描述
1
JMenuBar
菜單欄  
2
JToolBar
工具欄
3
JPopupMenu
彈出菜單
4
JInternalFrame  
內(nèi)部窗口  

(3)基本組件

基本組件是直接實(shí)現(xiàn)人機(jī)交互的組件。

常用的簡(jiǎn)單的基本組件:

#
組件
描述
1
JLabel
標(biāo)簽    
2
JButton
按鈕  
3
JRadioButton
單選按鈕  
4
JCheckBox
復(fù)選框  
5
JToggleButton
開關(guān)按鈕  
6
JTextField
文本框  
7
JPasswordField
密碼框    
8
JTextArea
文本區(qū)域  
9
JComboBox
下拉列表框  
10
JList
列表
11
JProgressBar
進(jìn)度條    
12
JSlider
滑塊

選取器組件:

#
組件
描述
1
JFileChooser
文件選取器
2
JColorChooser
顏色選取器    

其他較為復(fù)雜的基本組件:

#
組件
描述
1
JTable
表格  
2
JTree

3. 布局管理器

把 Swing 的各種組件(JComponent)添加到面板容器中(JPanel),需要給面板容器指定布局管理器(LayoutManager),明確容器(Container)內(nèi)的各個(gè)組件之間的排列布局方式。

常用的布局管理器:

#
布局管理器
描述
1
FlowLayout
流式布局,按組件加入的順序,按水平方向排列,排滿一行換下一行繼續(xù)排列。
2
GridLayout
網(wǎng)格布局,把Container按指定行列數(shù)分隔出若干網(wǎng)格,每一個(gè)網(wǎng)格按順序放置一個(gè)控件。    
3
GridBagLayout
網(wǎng)格袋布局,按網(wǎng)格劃分Container,每個(gè)組件可占用一個(gè)或多個(gè)網(wǎng)格,可將組件垂直、水平或沿它們的基線對(duì)齊。    
4
BoxLayout
箱式布局,將Container中的多個(gè)組件按 水平 或 垂直 的方式排列。
5
GroupLayout
分組布局,將組件按層次分組(串行 或 并行),分別確定 組件組 在 水平 和 垂直 方向上的位置。
6
CardLayout
卡片布局,將Container中的每個(gè)組件看作一張卡片,一次只能顯示一張卡片,默認(rèn)顯示第一張卡片。
7
BorderLayout
邊界布局,把Container按方位分為 5 個(gè)區(qū)域(東、西、南、北、中),每個(gè)區(qū)域放置一個(gè)組件。
8
SpringLayout
彈性布局,通過(guò)定義組件四條邊的坐標(biāo)位置來(lái)實(shí)現(xiàn)布局。
9
null
絕對(duì)布局,通過(guò)設(shè)置組件在Container中的坐標(biāo)位置來(lái)放置組件。

4. 代碼實(shí)例: 一個(gè)簡(jiǎn)單的窗口程序          

package com.xiets.swing;import javax.swing.*;public class Main {

    public static void main(String[] args) {        // 1. 創(chuàng)建一個(gè)頂層容器(窗口)
        JFrame jf = new JFrame("測(cè)試窗口");          // 創(chuàng)建窗口
        jf.setSize(250, 250);                       // 設(shè)置窗口大小
        jf.setLocationRelativeTo(null);             // 把窗口位置設(shè)置到屏幕中心
        jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); // 當(dāng)點(diǎn)擊窗口的關(guān)閉按鈕時(shí)退出程序(沒(méi)有這一句,程序不會(huì)退出)

        // 2. 創(chuàng)建中間容器(面板容器)
        JPanel panel = new JPanel();                // 創(chuàng)建面板容器,使用默認(rèn)的布局管理器

        // 3. 創(chuàng)建一個(gè)基本組件(按鈕),并添加到 面板容器 中
        JButton btn = new JButton("測(cè)試按鈕");
        panel.add(btn);        // 4. 把 面板容器 作為窗口的內(nèi)容面板 設(shè)置到 窗口
        jf.setContentPane(panel);        // 5. 顯示窗口,前面創(chuàng)建的信息都在內(nèi)存中,通過(guò) jf.setVisible(true) 把內(nèi)存中的窗口顯示在屏幕上。
        jf.setVisible(true);
    }

}

結(jié)果展示:

swing組件是什么

關(guān)于swing組件是什么就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI