Java Swing-1.基本概念及组件
Swing 基本概念及组件
前序
随着网络的发展 ,java Swing 不在受主流的关注,桌面版应用 开发也出现了更方便的语言和相关的脚手架;
- 之所以重提 Swing
- 对于一些简单的桌面场景它还是可以满足的
- 对于原本学习Java的同学,学习swing 会比学习另外一个语言的学习成本低
- Java 如今版本已经更新到 jdk 22,依旧保留这Swing,说明虽不是主流,但仍有价值
- 适合人群
- 本身就会Java
- 只是想开发一些常用,或日用的小工具,而非大型或对项目样式等要求非常多的系统。
- 不适合人群
不会java人群,建议直接学习一门开发桌面版的主流语言或脚手架。人的精力本就有限,可以将精力花费在另外一个更有潜力的东西上
概念
Swing 用于构建图形用户界面(GUI)的Java库类,提供一些列的组件和布局管理器。(开发桌面版应用用的。如大Windows 上的 office系列软件等软件)
Swing 组件采用MVC(模型-视图-控制器)设计模式,模型用于控制组件状态;视图展现组件;控制器控制事件和组件做出相应的响应。而Swing 使用UI 代理对视图 和控制器进行了封装。所以又可成为 (模型-代理)
Swing与AWT :
Swing 比AWT 更优秀,样式更多,一部分Swing 是在AWT 的基础上开发的;总体有点是:
- 可增加提示信息
- 可增加图标ICON
- 支持可插拔外观(皮肤)
- 支持边框
基本组件
容器
可分为两大类 Window 和 Panel
Window 为独立的顶级窗口
JFrame:窗口
JDialog: 对话框
JApplet:java 小程序
JWindow:无边框窗口
Panel:可放其他组件,但不可单独存在必须依赖于其他容器
- JSplitPane:分隔面板
- JOptionPane :简单对话框
- JTabbedPane:标签页
- JLayeredPane:可重叠的容器
- JDesktopPane:内部窗口
事件
高级事件和低级事件
- 低级事件:绑定特定的动作,(键盘事件,鼠标事件)如点击 ,放大,缩小,关闭等
- 高级事件:通俗点就是绑定多个动作;文本事件,选择事件;
菜单
- JMenuBar: 菜单块,菜单的容器
- JMenu: 单个菜单的容器,也可做为单个菜单用
- JPopupMenu:右键菜单
- JMenuItem: 单个菜单
- JCheckboxMenuItem: 可多选的菜单
- JRadioButtonMenuItem:单选菜单
- JMenuShortcut:菜单快捷键
表单
- JComboBox: 下拉列表
- JFileChooser: 文件选择器
- JScrollBar: 滚动条
- JLIst: 列表框
- JRadioButton:单选按钮
- JCheckBox: 复选框组件
- JSlider: 滑动条
- JProgressBar:进度条
- JTable: 表格
- JTree:树形结构
- JButton:按钮
- JLable: 标签
- JTextField: 单行文本框
- JTextArea:多行文本
- JToolBar: 工具条
- JTextPane:自定义编辑器
边框
- LineBorder: 边框线的颜色厚度
- MatteBorder:边框的图案颜色
- BevelBorder:立体边框
- TitledBorder: 边框标题
- CompoundBorder:组合边框