Swing est un ensemble de boîtes à outils fournies par Java pour le développement d'applications d'interface graphique et fait partie des classes de base Java.
Swing contient divers composants permettant de créer une interface graphique (GUI), tels que des fenêtres, des étiquettes, des boutons, des zones de texte, etc.
Swing fournit de nombreux meilleurs éléments d'affichage à l'écran qu'AWT. Il est implémenté en Java pur et peut être mieux compatible avec le fonctionnement multiplateforme.
Afin de les distinguer des composants AWT, les composants Swing se trouvent sous le package javax.swing.*, et leurs noms de classe commencent tous par J, tels que : JFrame, JLabel, JButton, etc.
Cours recommandés : Tutoriel Java
Composant Swing
Une interface graphique Java, composée de divers Il est composé de types d'« éléments », tels que des fenêtres, des barres de menus, des boîtes de dialogue, des étiquettes, des boutons, des zones de texte, etc. Ces « éléments » sont collectivement appelés composants.
Les composants peuvent être divisés en conteneurs de niveau supérieur, conteneurs intermédiaires et composants de base selon différentes fonctions. La composition d'une fenêtre simple est présentée dans la structure hiérarchique suivante :
Conteneur de niveau supérieur
Barre de menu
Conteneur intermédiaire
Composant de base
Composant de base
Relation d'héritage du type de composant :
Le conteneur de niveau supérieur appartient au composant de classe window et hérite de java.awt.Window
Le conteneur intermédiaire et les composants de base héritent de javax.swing.JComponent.
(1) Conteneur de niveau supérieur
Le conteneur de niveau supérieur est un composant de fenêtre et peut être affiché indépendamment. Une interface graphique nécessite au moins une fenêtre, par exemple. exemple :
#
|
Composant | Description | |||||||||
1 td> | JFrame | Une fenêtre normale (la plupart des Swing les programmes d'interface graphique utilisent JFrame comme conteneur de niveau supérieur) | |||||||||
2 | JDialog | Dialogue |
# |
组件 |
描述 |
1 |
JPanel |
一般轻量级面板容器组件 |
2 |
JScrollPane |
带滚动条的,可以水平和垂直滚动的面板组件 |
3 |
JSplitPane |
分隔面板 |
4 |
JTabbedPane |
选项卡面板 |
5 |
JLayeredPane |
层级面板 |
(2) Conteneur intermédiaire
Le conteneur intermédiaire sert de support aux composants de base et ne peut pas être affiché indépendamment. Le conteneur intermédiaire peut ajouter plusieurs composants de base (les conteneurs intermédiaires peuvent également être imbriqués) pour gérer les composants au sein du conteneur, ce qui revient à regrouper et à gérer divers composants complexes. Le conteneur intermédiaire de niveau supérieur doit être pris en charge dans le conteneur de niveau supérieur (fenêtre). Conteneurs intermédiaires (panneaux) couramment utilisés :# |
组件 |
描述 |
1 |
JMenuBar |
菜单栏 |
2 |
JToolBar |
工具栏 |
3 |
JPopupMenu |
弹出菜单 |
4 |
JInternalFrame |
内部窗口 |
# td> | Composant | Description |
1 | JPanel | Composant général de conteneur de panneaux légers |
2 | JScrollPane | Composant de panneau avec barre de défilement pouvant défiler horizontalement et verticalement td> tr> |
3 | JSplitPane | Panneau séparateur |
4 | JTabbedPane | Panneau d'onglets | 5 | JLayeredPane | Panneau de niveau |
# | Composant | Description |
1 | JMenuBar | Barre de menu |
2 | JToolBar | Barre d'outils |
3 | JPopupMenu | Menu contextuel |
4 | JInternalFrame | Fenêtre interne |
(3) Composants de base
Les composants de base sont des composants qui réalisent directement l'interaction homme-machine.
Composants de base simples couramment utilisés :
# |
组件 |
描述 |
1 |
JLabel |
标签 |
2 |
JButton |
按钮 |
3 |
JRadioButton |
单选按钮 |
4 |
JCheckBox |
复选框 |
5 |
JToggleButton |
开关按钮 |
6 |
JTextField |
文本框 |
7 |
JPasswordField |
密码框 |
8 |
JTextArea |
文本区域 |
9 |
JComboBox |
下拉列表框 |
10 |
JList |
列表 |
11 |
JProgressBar |
进度条 |
12 |
JSlider |
滑块 |
Composant sélecteur :
# |
组件 |
描述 |
1 |
JFileChooser |
文件选取器 |
2 |
JColorChooser |
颜色选取器 |
Autres composants de base plus complexes :
# |
组件 |
描述 |
1 |
JTable |
表格 |
2 |
JTree |
树 |
3. Gestionnaire de mise en page
Pour ajouter divers composants Swing (JComponent) au conteneur de panneaux (JPanel), vous devez spécifier le gestionnaire de mise en page (LayoutManager) pour le conteneur de panneaux et spécifier le contenu du conteneur. (Conteneur) La disposition et la disposition des différents composants.
Gestionnaires de mise en page couramment utilisés :
# |
布局管理器 |
描述 |
1 |
FlowLayout |
流式布局,按组件加入的顺序,按水平方向排列,排满一行换下一行继续排列。 |
2 |
GridLayout |
网格布局,把Container按指定行列数分隔出若干网格,每一个网格按顺序放置一个控件。 |
3 |
GridBagLayout |
网格袋布局,按网格划分Container,每个组件可占用一个或多个网格,可将组件垂直、水平或沿它们的基线对齐。 |
4 |
BoxLayout |
箱式布局,将Container中的多个组件按 水平 或 垂直 的方式排列。 |
5 |
GroupLayout |
分组布局,将组件按层次分组(串行 或 并行),分别确定 组件组 在 水平 和 垂直 方向上的位置。 |
6 |
CardLayout |
卡片布局,将Container中的每个组件看作一张卡片,一次只能显示一张卡片,默认显示第一张卡片。 |
7 |
BorderLayout |
边界布局,把Container按方位分为 5 个区域(东、西、南、北、中),每个区域放置一个组件。 |
8 |
SpringLayout |
弹性布局,通过定义组件四条边的坐标位置来实现布局。 |
9 |
null |
绝对布局,通过设置组件在Container中的坐标位置来放置组件。 |
4. Exemple de code : Un simple programme de fenêtre
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); } }
Affichage du résultat :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!