一、GUI简介
- GUI:图形用户界面。通过图形用户界面,程序的输入输出可以脱离控制台
- JAVA中实现GUI主要使用3种技术:AMT,Swing,JavaFX。
本篇文章我主要讨论Swing实现GUI界面。
二、Swing
1.容器组件
- JFrame
JFrame为顶层容器组件,可以放置其他组件。 - JPanel
JPanel不是顶层容器,无法单独显示。需要添加某个顶层容器中才可以使用。
2. 布局管理器:BorderLayout
- BorderLayout将空间划分为了5个区域,每个区域只能添加一个组件,若添加多个只能显示一个。
- 所以当我们需要在某个区域放置多个组件时,可以先放置JPanel,再在JPanel上放置其他组件。若某个区域没有放置组件,其不会被保留。
3.代码实现
利用各种组件,布局管理器以及事件监听器实现一个GUI。
- 代码如下:
import javax.swing.*;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class FirstSwing {
private static void createAndShowGUI() {
// Create and set up the window.
JFrame f1 = new JFrame("界面");
f1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// your code
JPanel panel1 = new JPanel(new GridLayout(2, 2));
JPanel panel2 = new JPanel(new FlowLayout());
JLabel jlabel1 = new JLabel("QQ");
JLabel jlabel2 = new JLabel("密码");
JTextField jtf1 = new JTextField(15);
JTextField jtf2 = new JTextField(15);
JButton jbutton1 = new JButton("登录");
JButton jbutton2 = new JButton("注册");
panel1.add(jlabel1);
panel1.add(jtf1);
panel1.add(jlabel2);
panel1.add(jtf2);
panel2.add(jbutton1);
panel2.add(jbutton2);
f1.add(panel2, BorderLayout.SOUTH);
f1.add(panel1, BorderLayout.CENTER);
// Display the window.
f1.pack();
f1.setVisible(true);
jbutton1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String qq = jtf1.getText();
String password = jtf2.getText();
if (qq.equals("123") && password.equals("111")) {
JOptionPane.showMessageDialog(null, "欢迎用户黄羽悦进入系统");
} else {
JOptionPane.showMessageDialog(null, "用户名密码错误");
}
}
});
}
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
}
- 运行结果
实验总结:
经过本次实验,我了解了如何使用Swing实现GUI界面。
程序解释:
本次实验我将整个窗体界面分成两部分:分别对应BorderLayout的centre与south。
在布局layout上分别放入两个JLable与JTextField。
在layout的south放入一个JPanel,然后在该面板上放置两个按钮。
在按钮一上注册了事件监听器,在点击登录按钮后,如用户名、密码相同则提示“欢迎用户HYY进入系统!”
否则提示“用户名密码错误!
综上所述,对于GUI程序的一般编程步骤为:
- 创建窗体;
- 设置布局管理器;
- 在窗体上添加组件;
- 显示窗体;