Maison  >  Article  >  Java  >  Qu'est-ce qu'un composant swing ?

Qu'est-ce qu'un composant swing ?

(*-*)浩
(*-*)浩original
2019-05-11 17:55:206607parcourir

Qu'est-ce qu'un composant swing ?

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 :

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

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

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

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
Conteneur intermédiaire spécial :
# 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 :

#
组件
描述

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

JCheckBox
复选框   
5
JToggleButton 
开关按钮  

JTextField 
文本框  

JPasswordField
密码框    
8
JTextArea
文本区域  

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

Composant sélecteur :

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

JColorChooser
颜色选取器    

Autres composants de base plus complexes :

#
组件
描述

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 :

#
布局管理器
描述

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

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

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 :

Quest-ce quun composant swing ?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn