文章目录

  • 写在前面
  • 1、idea快速创建GUI Form
  • 2、认识组件
  • 3、了解各个组件的属性
  • 4、事件处理
  • 4.1、事件监听器
  • 5、布局管理器
  • 6、生成main方法


写在前面

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

1、idea快速创建GUI Form

idea中可以快速构建swing UI

ideajava可视化编程 idea实现swing可视化_开发语言


如下,新建GUI Form后,会产生两个文件:一个java文件,一个xml文件。

两个文件是关联的,java文件可以向程序提供xml文件的内容,xml文件中记录了所有UI组件的信息。

右边可以通过拖动的形式进行页面设计。

ideajava可视化编程 idea实现swing可视化_开发语言_02

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

选项卡面板

ideajava可视化编程 idea实现swing可视化_ide_03

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

ideajava可视化编程 idea实现swing可视化_ide_04

JSlider 移动滑块

ideajava可视化编程 idea实现swing可视化_ide_05

3、了解各个组件的属性

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

ideajava可视化编程 idea实现swing可视化_ideajava可视化编程_06


宽度与高度

ideajava可视化编程 idea实现swing可视化_ui_07

4、事件处理

4.1、事件监听器

EventListner 它是一个标记接口,每一个监听器接口必须扩展它。

如下示例是监听JTextArea是键盘事件

ideajava可视化编程 idea实现swing可视化_java_08


事件监听器接口

监听器接口

说明

ActionListener

接收动作事件

ComponentListener

接收组件事件

ItemListener

接收项目事件

KeyListener

接收按键事件

MouseListener

接收鼠标事件

WindowListener

接收窗口事件

AdjustmentListener

接收调整事件

ContainerListener

接收容器事件

接收容器事件

鼠标移动事件

FocusListener

接收焦点事件

5、布局管理器

管理器

说明

BorderLayout

安排组件适应于五个地区:东、西、北、南和中心。

CardLayout

对象把容器中的每一个组件看成一个卡片。一次只有一个卡片是可见的。

FlowLayout

是默认的布局。它用定向流动来布局组件。

GridLayout

用一个矩形网格形式来管理组件。

GridBagLayout

这是最灵活的布局管理器类。在不需要相同大小的组件的情况下,GridBagLayout 对象垂直、水平或沿着它们的基线来排列组件。

GroupLayout

分层次地归类组件,为了在一个容器中放置它们。

SpringLayout

根据一组约束安置与它相关的容器的孩子。

GridLayoutManager

idea布局管理器,仅idea SDK中有

6、生成main方法

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

ideajava可视化编程 idea实现swing可视化_ideajava可视化编程_09


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