草庐IT

JAVA Swing 与 GUI Form

BeanInJ 2023-04-08 原文

文章目录

写在前面

java常用于后端开发,用于UI的Swing API较少有人用,但是在做一些窗口程序还是不得不用到,比如做idea插件的时候。

1、idea快速创建GUI Form

idea中可以快速构建swing UI


如下,新建GUI Form后,会产生两个文件:一个java文件,一个xml文件。
两个文件是关联的,java文件可以向程序提供xml文件的内容,xml文件中记录了所有UI组件的信息。
右边可以通过拖动的形式进行页面设计。

2、认识组件

注意,部分组件需要JDK7以上

组件说明
JFrame一个界面只有一个JFrame窗体组件,但可以有多个JPanel。idea插件页面不考虑JFrame。
JPanel面板组件,如上图中右边所有组件都可以放到面板中。
Hspacer、Vspacer控制组件间的水平间距、垂直间距
JscrollPane滚动面板,可与JTextPane等组成可滚动的区域
JScrollBar单向滚动条
JButton、JRadioButton、JCheckBox按钮、单选按钮、多选按钮
JLabel标签,显示固定文字
JTextField、JPasswordField、JFormattedTextField单行文本编辑框
JTextArea文本框
JTextPane、JEditePane可以编辑和显示html,rtf和普通文本的富文本组件
JComboBox可编辑下拉组件
JTable表格
JList列表
JTree树结构,适合多级显示
JTabbedPane选项卡面板
JSplitPane分隔面板,用于两两分隔,多个分隔用它嵌套实现
JSpinner单行输入框+上下选择器
JSlider移动滑块,用来选值
JSeparator分割线
JProgressBar进度条
JToolBar可以在程序的主窗口之外浮动或是托拽,里面可以添加各种组件
JTabbedPane选项卡面板

JSpinner 单行输入框+上下选择器

JSlider 移动滑块

3、了解各个组件的属性

一些通用属性,当然这些属性也可以通过java代码去控制


宽度与高度

4、事件处理

4.1、事件监听器

EventListner 它是一个标记接口,每一个监听器接口必须扩展它。
如下示例是监听JTextArea是键盘事件

事件监听器接口

监听器接口说明
ActionListener接收动作事件
ComponentListener接收组件事件
ItemListener接收项目事件
KeyListener接收按键事件
MouseListener接收鼠标事件
WindowListener接收窗口事件
AdjustmentListener接收调整事件
ContainerListener接收容器事件
接收容器事件鼠标移动事件
FocusListener接收焦点事件

5、布局管理器

管理器说明
BorderLayout安排组件适应于五个地区:东、西、北、南和中心。
CardLayout对象把容器中的每一个组件看成一个卡片。一次只有一个卡片是可见的。
FlowLayout是默认的布局。它用定向流动来布局组件。
GridLayout用一个矩形网格形式来管理组件。
GridBagLayout这是最灵活的布局管理器类。在不需要相同大小的组件的情况下,GridBagLayout 对象垂直、水平或沿着它们的基线来排列组件。
GroupLayout分层次地归类组件,为了在一个容器中放置它们。
SpringLayout根据一组约束安置与它相关的容器的孩子。
GridLayoutManageridea布局管理器,仅idea SDK中有

6、生成main方法

如果是idea插件项目,不用生成main方法。


然后运行该方法,可以编译出GUI对的java代码

有关JAVA Swing 与 GUI Form的更多相关文章

  1. 基于javaSwing、MySQL的酒店客房管理系统(附源码) - 2

    由于近期询要的人过多,自行加群769119544领取源码目录一、功能需求二、数据字典1.数据流条目2.文件条目三、用例图四、数据流图五、E-R图六、系统框架 七、数据库设计八、界面设计九、代码展示1、数据表对象层(domain层)1.1、房间对象初始化1.2、旅客对象初始化1.3、 管理员对象初始化2、数据访问对象层(dao层)2.1、房间相关信息2.2、旅客信息2.3、管理员信息3、util包3.1、JDBC交互数据库(DBUtil)3.2、实时时间(DateUtil)4、业务层(server层)4.1、房间(RoomContorller)4.2、旅客(RoomInContorller)4.

随机推荐