• 技术文章 >Java >java教程

    swing组件是什么组件

    (*-*)浩(*-*)浩2020-09-16 14:04:39原创4047

    php入门到就业线上直播课:进入学习

    Swing 是 Java 为图形界面应用开发提供的一组工具包,是 Java 基础类的一部分。

    Swing 包含了构建图形界面(GUI)的各种组件,如: 窗口、标签、按钮、文本框等。

    Swing 提供了许多比 AWT 更好的屏幕显示元素,使用纯 Java 实现,能够更好的兼容跨平台运行。

    为了和 AWT 组件区分,Swing 组件在javax.swing.*包下,类名均以 J 开头,例如: JFrame、JLabel、JButton等。

    推荐课程:Java教程

    Swing组件

    一个 Java 的图形界面,由各种不同类型的“元素”组成,例如: 窗口、菜单栏、对话框、标签、按钮、文本框等等,这些“元素”统一被称为 组件(Component)。

    组件按照不同的功能,可分为 顶层容器、中间容器、基本组件。一个简单窗口的组成,如下层级结构所示:

    组件类型的继承关系:

    顶层容器 属于窗口类组件,继承自java.awt.Window;

    中间容器 和 基本组件 继承自javax.swing.JComponent。

    (1)顶层容器

    顶层容器属于窗口类组件,可以独立显示,一个图形界面至少需要一个窗口,例如:

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

    (2)中间容器

    中间容器充当基本组件的载体,不可独立显示。中间容器可以添加若干基本组件(也可以嵌套添加中间容器),对容器内的组件进行管理,类似于给各种复杂的组件进行分组管理。最顶层的一个中间容器必须依托在顶层容器(窗口)内。

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

    #
    组件
    描述
    1
    JPanel
    一般轻量级面板容器组件
    2
    JScrollPane
    带滚动条的,可以水平和垂直滚动的面板组件
    3
    JSplitPane
    分隔面板
    4
    JTabbedPane
    选项卡面板
    5
    JLayeredPane
    层级面板

    特殊的中间容器:

    #
    组件
    描述
    1
    JMenuBar
    菜单栏
    2
    JToolBar
    工具栏
    3
    JPopupMenu
    弹出菜单
    4
    JInternalFrame
    内部窗口

    (3)基本组件

    基本组件是直接实现人机交互的组件。

    常用的简单的基本组件:

    #
    组件
    描述
    1
    JLabel
    标签
    2
    JButton
    按钮
    3
    JRadioButton
    单选按钮
    4
    JCheckBox
    复选框
    5
    JToggleButton
    开关按钮
    6
    JTextField
    文本框
    7
    JPasswordField
    密码框
    8
    JTextArea
    文本区域
    9
    JComboBox
    下拉列表框
    10
    JList
    列表
    11
    JProgressBar
    进度条
    12
    JSlider
    滑块

    选取器组件:

    #
    组件
    描述
    1
    JFileChooser
    文件选取器
    2
    JColorChooser
    颜色选取器

    其他较为复杂的基本组件:

    #
    组件
    描述
    1
    JTable
    表格
    2
    JTree

    3. 布局管理器

    把 Swing 的各种组件(JComponent)添加到面板容器中(JPanel),需要给面板容器指定布局管理器(LayoutManager),明确容器(Container)内的各个组件之间的排列布局方式。

    常用的布局管理器:

    #
    布局管理器
    描述
    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. 代码实例: 一个简单的窗口程序

    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);
        }
    
    }

    结果展示:

    swing.png

    以上就是swing组件是什么组件的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:swing java
    上一篇:怎么建立java子类 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• java值Swing系列之控件一• 分享JavaSwing中非连接数据库实例代码• Swing的相关简介• java中的swing是什么
    1/1

    PHP中文网