您现在的位置是:主页 > news > 西安专业做网站建/深圳高端seo公司助力企业
西安专业做网站建/深圳高端seo公司助力企业
admin2025/6/12 18:49:23【news】
简介西安专业做网站建,深圳高端seo公司助力企业,自己制作视频的app,网站建设 签约信息Swing **AWT **不是跨平台的,从外观到控制都依赖操作系统,是重型组件 **Swing **组件是用纯 java 实现的轻型(Lightweight)组件 没有本地代码 不依赖本地操作系统的支持 在不同的操作系统表现一致 Swing 库是 AWT 库的扩展 Swing 组件类…
Swing
**AWT **不是跨平台的,从外观到控制都依赖操作系统,是重型组件
**Swing **组件是用纯 java 实现的轻型(Lightweight)组件
没有本地代码
不依赖本地操作系统的支持
在不同的操作系统表现一致
Swing 库是 AWT 库的扩展
Swing 组件类关系和顶层容器
Swing 组件类关系:
-
javax.swing 包提供数量众多的接口、类和组件
-
所有的组件是从 JComponent 扩展出来的
窗口(Window)
-
Container 的子类
-
有标题栏和相关控制按纽
-
有边框
-
可以添加菜单栏
-
可以独立存在
-
运行可以被移动,改变大小
-
是顶层容器,不能包含在其他容器中
面板(Panel)
-
Container 子类
-
没有标题,没有边框,不可添加菜单栏
-
不能独立存在
-
可以包含其他 panel
框架 Frame
-
Window 子类
-
是一种窗口
-
用于 JAVA Application 应用程序的主窗口,带有最大化、最小化和关闭控制按纽
对话框 Dialog
-
Window 子类
-
也是一种窗口
-
不能作为应用程序的主窗口,通常依附于一个框架
-
没有最大化和最小化按纽
-
有模式(Modal)窗口属性
-
总在最前面
标签 Label
- 用于显示字符串
文件行 TextField
- 单行文本编辑框,用于输入一行文
按纽 Button
-
显示执行命令
-
执行特定操作
JPanel、JButton
-
JPanel 用来创建面板
-
JButton 用来创建按钮
package com.swing.ljb;import java.awt.*;
import javax.swing.*;public class Swing {public static void main(String[] args) {JFrame jf = new JFrame("第一个 Swing 窗口");//创建窗口jf.setSize(230, 80);//大小jf.setBackground(Color.WHITE);//背景颜色jf.setLocation(300, 200);//窗体大小Container pane = jf.getContentPane(); //创建面板JPanel panel=new JPanel();JButton send=new JButton("发送");//创建按钮JButton quit=new JButton("退出");//把 button 放置到 panel 上,把 panel 放置到 frame 上panel.add(send);//添加按钮panel.add(quit);pane.add(panel);jf.setVisible(true);}
}
常用的布局
一个图形用户界面上会有很多个组件,这些组件需要根据用户使用需求和习惯进行布局,API 中提供了几种常用的布局管理器来进行布局;
流布局管理器 FlowLayout
组件按照从左到右,从上到下的方式依次布局;是 JPanel 的默认布局管理器;
边界布局管理器 BorderLayout
将容器分为东西南北中五个区域,可以在指定区域放置组件;是 JFrame 的默认布局管理;
网格布局管理器 GridLayout,
将容器分成等行等列的网格;
package com.swing.ljb;import java.awt.*;
import javax.swing.*;public class Swing {public static void main(String[] args) {// 创建 JFrame 对象JFrame frame = new JFrame("TestJFrame");// 获得内容面板容器Container pane = frame.getContentPane();// 创建 JPanel 对象JPanel panel = new JPanel();// 创建 JButton 对象JButton send = new JButton("发送");JButton quit = new JButton("退出");// 把 button 放置到 panel 上,把 panel 放置到 frame 上// 对 panel 设置流布局管理器panel.setLayout(new FlowLayout());// 把 button 放置到 panel 上,把 panel 放置到 frame 上panel.add(send);panel.add(quit);// 对 frame 设置布局管理frame.setLayout(new BorderLayout());JLabel label = new JLabel("聊天内容:");JTextField input = new JTextField();// 输入框JTextArea output = new JTextArea();// 文本域pane.add(label, "North"); // 北边 ->上边pane.add(input, "South"); // 南边 ->下边pane.add(output, "Center");// 中间pane.add(panel, "East");// 包含了 2 个按钮,东-> 右边// 设置大小及可见性frame.setSize(300, 200);frame.setVisible(true);}
}
GUI 事件与监听器
对于一个 GUI 来说,如果不进行事件处理,就是“又聋又哑”的,无法与用户进行交互;
Java Swing 中事件相关的类和接口都位于 java.awt.event 以及 javax.swing.event 中;
主要包括 XXXEvent 事件类,以及与事件类对应的监听器接口 XXXListener;
对 GUI 进行事件处理的基本步骤:
判断事件源组件以及事件类型
编写事件监听器类,实现相应的监听器接口
使用 addXXXListener 方法,对事件源组件进行事件监听注册