您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

swing组件是什么组件

2025/3/17 18:13:50发布51次查看
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)中间容器
中间容器充当基本组件的载体,不可独立显示。中间容器可以添加若干基本组件(也可以嵌套添加中间容器),对容器内的组件进行管理,类似于给各种复杂的组件进行分组管理。最顶层的一个中间容器必须依托在顶层容器(窗口)内。
常用的中间容器(面板):
#
组件
描述

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

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

jtabbedpane
选项卡面板
5
jlayeredpane 
层级面板
特殊的中间容器:
#
组件
描述
1
jmenubar
菜单栏
2
jtoolbar
工具栏
3
jpopupmenu
弹出菜单
4
jinternalframe  
内部窗口
(3)基本组件
基本组件是直接实现人机交互的组件。
常用的简单的基本组件:
#
组件
描述

jlabel 
标签
2
jbutton
 按钮
3
jradiobutton 
单选按钮

jcheckbox
复选框
5
jtogglebutton 
开关按钮

jtextfield 
文本框

jpasswordfield
密码框
8
jtextarea
文本区域

jcombobox 
下拉列表框
10 
jlist
列表
11 
jprogressbar
进度条
12 
jslider 
滑块
选取器组件:
#
组件
描述
1
jfilechooser
文件选取器

jcolorchooser
颜色选取器
其他较为复杂的基本组件:
#
组件
描述

jtable
表格
2
jtree

3. 布局管理器
把 swing 的各种组件(jcomponent)添加到面板容器中(jpanel),需要给面板容器指定布局管理器(layoutmanager),明确容器(container)内的各个组件之间的排列布局方式。
常用的布局管理器:
#
布局管理器
描述

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

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

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组件是什么组件的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product