這篇文章將為大家詳細(xì)講解有關(guān)swing組件是什么,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
創(chuàng)新新互聯(lián),憑借十多年的網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站建設(shè)經(jīng)驗(yàn),本著真心·誠心服務(wù)的企業(yè)理念服務(wù)于成都中小企業(yè)設(shè)計(jì)網(wǎng)站有近1000家案例。做網(wǎng)站建設(shè),選成都創(chuàng)新互聯(lián)公司。
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è)簡單窗口的組成,如下層級(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ī)交互的組件。
常用的簡單的基本組件:
# | 組件 | 描述 |
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 | 彈性布局,通過定義組件四條邊的坐標(biāo)位置來實(shí)現(xiàn)布局。 |
9 | null | 絕對(duì)布局,通過設(shè)置組件在Container中的坐標(biāo)位置來放置組件。 |
4. 代碼實(shí)例: 一個(gè)簡單的窗口程序
package com.xiets.swing;import javax.swing.*;public class Main { public static void main(String[] args) { // 1. 創(chuàng)建一個(gè)頂層容器(窗口) JFrame jf = new JFrame("測試窗口"); // 創(chuàng)建窗口 jf.setSize(250, 250); // 設(shè)置窗口大小 jf.setLocationRelativeTo(null); // 把窗口位置設(shè)置到屏幕中心 jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); // 當(dāng)點(diǎn)擊窗口的關(guān)閉按鈕時(shí)退出程序(沒有這一句,程序不會(huì)退出) // 2. 創(chuàng)建中間容器(面板容器) JPanel panel = new JPanel(); // 創(chuàng)建面板容器,使用默認(rèn)的布局管理器 // 3. 創(chuàng)建一個(gè)基本組件(按鈕),并添加到 面板容器 中 JButton btn = new JButton("測試按鈕"); panel.add(btn); // 4. 把 面板容器 作為窗口的內(nèi)容面板 設(shè)置到 窗口 jf.setContentPane(panel); // 5. 顯示窗口,前面創(chuàng)建的信息都在內(nèi)存中,通過 jf.setVisible(true) 把內(nèi)存中的窗口顯示在屏幕上。 jf.setVisible(true); } }
結(jié)果展示:
關(guān)于swing組件是什么就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。
網(wǎng)站題目:swing組件是什么
文章網(wǎng)址:http://www.rwnh.cn/article14/gcgjge.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作、云服務(wù)器、網(wǎng)站收錄、微信公眾號(hào)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)