一、GUI介绍
1、GUI概述
图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。
在GUI编程中,顶层的根窗口包含组成GUI应用的所有小窗口对象,他们可能是文字标签,按钮,列表框等,这些独立的GUI组件称为控件。
2、Java提供了三个主要包坐GUI开发
java.awt 包 – 主要提供字体/布局管理器
javax.swing 包– 主要提供各种组件(窗口/按钮/文本框)
java.awt.event 包 – 事件处理,后台功能的实现
二、swing组件
1、swing组件主要可分为三个部分,
(1)顶层容器::常用有JFrame,JDialog
组件 | 描述 | |
---|---|---|
1 | JFrame | 一个普通的窗口(绝大多数 Swing 图形界面程序使用 JFrame 作为顶层容器) |
2 | JDialog | 对话框 |
(2)中间容器:JPanel,JOptionPane,JScrollPane,JLayeredPane 等,主要以panel结尾。
组件 | 描述 | |
---|---|---|
1 | JPanel (相当于div) | 一般轻量级面板容器组件(作为JFrame中间容器) |
2 | JScrollPane | 带滚动条的,可以水平和垂直滚动的面板组件 |
3 | JSplitPane | 分隔面板 |
4 | JTabbedPane | 选项卡面板 |
5 | JLayeredPane | 层级面板 |
(3)基本组件:JLabel,JButton,JTextField,JPasswordField,JRadioButton 等。
组件 | 描述 | |
---|---|---|
1 | JLabel | 标签 |
2 | JButton | 按钮 |
3 | JRadioButton | 单选按钮 |
4 | JCheckBox | 复选框 |
5 | JToggleButton | 开关按钮 |
6 | JTextField | 文本框 |
7 | JPasswordField | 密码框 |
8 | JTextArea | 文本区域 |
9 | JComboBox | 下拉列表框 |
10 | JList | 列表 |
11 | JProgressBar | 进度条 |
12 | JSlider | 滑块 |
2、API介绍
(1)Jframe组件
JFrame frame = new JFrame("HelloWorldSwing"); // 创建及设置窗口
frame.setDefaultLookAndFeelDecorated(true); // 确保一个漂亮的外观风格
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //设置默认的关闭窗口
frame.pack(); // 显示窗口
frame.setVisible(true); //这个最好放在最后,不然会出现视图看不到的情况
frame.setBounds(600, 300, 500, 400); //设置窗口的x,y位置,窗口大小x,y.
frame.add(panel) //添加panel面板到容器
frmIpa.getContentPane().add(panel, BorderLayout.NORTH); //添加面板到主窗口,布局在北面
frmIpa.getContentPane().add(scrollPane, BorderLayout.CENTER); //添加可滚动面板到主窗口,布局在中间
(2)JPanel组件
Jpanel
JPanel panel = new JPanel(); //创建面板容器
panel.add(button); //添加按钮到面板
JOptionPane
JOptionPane.showMessageDialog(panel3, "没有选中任何文件", "提示", JOptionPane.WARNING_MESSAGE);
//弹出提示框到panel容器
JScrollPane
JScrollPane scrollPane = new JScrollPane(); //创建可滚动面板
scrollPane.setViewportView(textArea); //设置面板内容
(3)功能组件
JLabel
JLabel label = new JLabel("Hello World"); //添加标签
JButton
JButton button = new JButton("选择文件"); //创建按钮
button.addActionListener(new ActionListener() {} //添加操作按钮后的事件监听器
JTextArea
JTextArea textArea = new JTextArea(); //创建文本区域
textArea.setText(content); //设置内容
三、GUI操作
1、使GUI程序启动和运行的5个步骤
(1)导入Tkinter模块
(2)创建一个顶层窗口对象,用于容纳整个GUI应用
(3)在顶层窗口之上(或其中)构建所有的GUI组件(及其功能)
(4)通过底层的应用代码将这些GUI组件连接起来
(5)进入主事件循环