Heim  >  Artikel  >  Java  >  Was ist eine Swing-Komponente?

Was ist eine Swing-Komponente?

(*-*)浩
(*-*)浩Original
2019-05-11 17:55:206607Durchsuche

Was ist eine Swing-Komponente?

Swing ist eine Reihe von Toolkits, die von Java für die Entwicklung grafischer Schnittstellenanwendungen bereitgestellt werden und Teil der Java-Basisklassen sind.

Swing enthält verschiedene Komponenten zum Aufbau einer grafischen Oberfläche (GUI), wie Fenster, Beschriftungen, Schaltflächen, Textfelder usw.

Swing bietet viele bessere Bildschirmanzeigeelemente als AWT. Es ist in reinem Java implementiert und kann besser mit dem plattformübergreifenden Betrieb kompatibel sein.

Um sie von AWT-Komponenten zu unterscheiden, befinden sich Swing-Komponenten im Paket javax.swing.* und ihre Klassennamen beginnen alle mit J, wie zum Beispiel: JFrame, JLabel, JButton usw.

Empfohlene Kurse: Java-Tutorial

Swing-Komponente

Eine grafische Java-Schnittstelle, bestehend aus verschiedenen bestehend aus Arten von „Elementen“, wie z. B. Fenstern, Menüleisten, Dialogfeldern, Beschriftungen, Schaltflächen, Textfeldern usw. Diese „Elemente“ werden zusammenfassend als Komponenten bezeichnet.

Komponenten können je nach Funktion in Oberbehälter, Zwischenbehälter und Grundkomponenten unterteilt werden. Der Aufbau eines einfachen Fensters ist in der folgenden hierarchischen Struktur dargestellt:

  • Container der obersten Ebene

  • Menüleiste

  • Zwischenbehälter

  • Grundkomponente

  • Grundkomponente

Komponententyp Vererbungsbeziehung:

Der Container der obersten Ebene gehört zur Fensterklassenkomponente und erbt von java.awt.Window;

Der Zwischencontainer und die Basiskomponenten erben von javax.swing.JComponent.

(1) Top-Level-Container

Der Top-Level-Container ist eine Fensterkomponente und kann unabhängig angezeigt werden. Eine grafische Oberfläche erfordert mindestens ein Fenster, z Beispiel:

#
#
组件
描述
1
JFrame 
一个普通的窗口(绝大多数 Swing 图形界面程序使用 JFrame 作为顶层容器)
2
JDialog 
对话框
Komponente

Beschreibung
1 td> JFrame Ein normales Fenster (die meisten Swing Grafische Schnittstellenprogramme verwenden JFrame als Container der obersten Ebene)

2 JDialog

Dialog
#
组件
描述

JPanel
一般轻量级面板容器组件    

JScrollPane
带滚动条的,可以水平和垂直滚动的面板组件    
3
JSplitPane 
分隔面板  

JTabbedPane
选项卡面板 
5
JLayeredPane 
层级面板    

(2) Zwischenbehälter

Der Zwischenbehälter dient als Träger von Grundkomponenten und kann nicht unabhängig angezeigt werden. Dem Zwischencontainer können mehrere Grundkomponenten hinzugefügt werden (Zwischencontainer können auch verschachtelt werden), um die Komponenten innerhalb des Containers zu verwalten, was dem Gruppieren und Verwalten verschiedener komplexer Komponenten ähnelt. Der Zwischencontainer der obersten Ebene muss innerhalb des Containers der obersten Ebene (Fenster) unterstützt werden.

Häufig verwendete Zwischenbehälter (Panels):
#
组件
描述
1
JMenuBar
菜单栏  
2
JToolBar
工具栏
3
JPopupMenu
弹出菜单 
4
JInternalFrame  
内部窗口   
# td> Komponente Beschreibung
1 JPanel Allgemeine Leichtbauplatten-Containerkomponente
2 JScrollPane Panel-Komponente mit Bildlaufleiste, die horizontal und vertikal scrollen kann td> tr>
3 JSplitPane Trennfeld
4 JTabbedPane Tab Panel
5 JLayeredPane Ebenentafel
Spezieller Zwischenbehälter:
# Komponente Beschreibung
1 JMenuBar Menüleiste
2 JToolBar Symbolleiste
3 JPopupMenu Popup-Menü
4 JInternalFrame Internes Fenster

(3) Grundkomponenten

Grundkomponenten sind Komponenten, die die Mensch-Computer-Interaktion direkt realisieren.

Häufig verwendete einfache Grundkomponenten:

#
组件
描述

JLabel 
标签    
2
JButton
 按钮  
3
JRadioButton 
单选按钮   

JCheckBox
复选框   
5
JToggleButton 
开关按钮  

JTextField 
文本框  

JPasswordField
密码框    
8
JTextArea
文本区域  

JComboBox 
下拉列表框  
10 
JList
列表 
11 
JProgressBar
进度条    
12 
JSlider 
滑块 

Selektorkomponente:

#
组件
描述
1
JFileChooser
文件选取器 

JColorChooser
颜色选取器    

Andere komplexere Grundkomponenten:

#
组件
描述

JTable
表格  
2
JTree

3. Layout-Manager

Um verschiedene Swing-Komponenten (JComponent) zum Panel-Container (JPanel) hinzuzufügen, müssen Sie den Layout-Manager (LayoutManager) für den Panel-Container angeben und den Inhalt des Containers angeben (Container) Die Anordnung und Anordnung der verschiedenen Komponenten.

Häufig verwendete Layout-Manager:

#
布局管理器
描述

FlowLayout
流式布局,按组件加入的顺序,按水平方向排列,排满一行换下一行继续排列。 
2
GridLayout
网格布局,把Container按指定行列数分隔出若干网格,每一个网格按顺序放置一个控件。    
3
GridBagLayout 
网格袋布局,按网格划分Container,每个组件可占用一个或多个网格,可将组件垂直、水平或沿它们的基线对齐。    
4
BoxLayout 
箱式布局,将Container中的多个组件按 水平 或 垂直 的方式排列。

GroupLayout
分组布局,将组件按层次分组(串行 或 并行),分别确定 组件组 在 水平 和 垂直 方向上的位置。
6
CardLayout 
卡片布局,将Container中的每个组件看作一张卡片,一次只能显示一张卡片,默认显示第一张卡片。
7
BorderLayout 
边界布局,把Container按方位分为 5 个区域(东、西、南、北、中),每个区域放置一个组件。

SpringLayout 
弹性布局,通过定义组件四条边的坐标位置来实现布局。
9
null 
绝对布局,通过设置组件在Container中的坐标位置来放置组件。

4. Codebeispiel: Ein einfaches Fensterprogramm

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

    public static void main(String[] args) {        // 1. 创建一个顶层容器(窗口)
        JFrame jf = new JFrame("测试窗口");          // 创建窗口
        jf.setSize(250, 250);                       // 设置窗口大小
        jf.setLocationRelativeTo(null);             // 把窗口位置设置到屏幕中心
        jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); // 当点击窗口的关闭按钮时退出程序(没有这一句,程序不会退出)

        // 2. 创建中间容器(面板容器)
        JPanel panel = new JPanel();                // 创建面板容器,使用默认的布局管理器

        // 3. 创建一个基本组件(按钮),并添加到 面板容器 中
        JButton btn = new JButton("测试按钮");
        panel.add(btn);        // 4. 把 面板容器 作为窗口的内容面板 设置到 窗口
        jf.setContentPane(panel);        // 5. 显示窗口,前面创建的信息都在内存中,通过 jf.setVisible(true) 把内存中的窗口显示在屏幕上。
        jf.setVisible(true);
    }

}

Ergebnisanzeige:

Was ist eine Swing-Komponente?

Das obige ist der detaillierte Inhalt vonWas ist eine Swing-Komponente?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn