1. 上层界面设计(UI 设计)
Swing 提供了多个组件(如按钮、标签、文本框等),通过这些组件,你可以构建用户可视化交互的界面。
关键组件
JFrame:代表主窗口,所有其他组件都放置在 JFrame 中。
JPanel:用于分隔不同的 UI 区域,可以嵌套使用。
JButton、JLabel、JTextField:分别用于创建按钮、文本标签和文本输入框。
布局管理器
Java Swing 提供了多种布局管理器,用来控制组件的排列方式:
FlowLayout:按添加顺序从左到右排列组件,适用于简单的 UI。
BorderLayout:将容器划分为五个区域(NORTH, SOUTH, EAST, WEST, CENTER),常用于布局大型界面。
GridLayout:将容器划分为网格,所有组件的大小相同。
BoxLayout:允许组件在垂直或水平方向上对齐。
示例代码
java
import javax.swing.*;
public class MySwingApp {
public static void main(String[] args) {
JFrame frame = new JFrame("上下界面设计");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 300);
JPanel panel = new JPanel(); // 创建主面板
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS)); // 垂直布局
JLabel label = new JLabel("请输入信息:");
JTextField textField = new JTextField(20);
JButton button = new JButton("提交");
// 添加组件到面板
panel.add(label);
panel.add(textField);
panel.add(button);
// 将面板添加到框架
frame.add(panel);
frame.setVisible(true);
}
}
2. 下层界面设计(逻辑层)
逻辑层与界面层分离,通常负责数据处理、逻辑运算和业务流程的管理。为了实现上层与下层的良好分离,可以通过以下方式进行设计:
MVC 模式
MVC(Model-View-Controller)模式是 Java Swing 中常见的设计模式,旨在将数据处理(Model)、用户界面(View)和用户输入控制(Controller)分开,确保代码模块化、易维护。
Model(模型层):负责管理数据和业务逻辑。它不关心界面或用户的交互。
View(视图层):负责展示数据,是用户直接交互的部分(Swing 组件)。
Controller(控制器层):负责用户输入的处理,并将用户的操作转换为模型层的指令。
事件监听
Swing 使用事件监听器机制来捕获用户输入操作:
ActionListener:用于按钮等触发操作。通过实现 actionPerformed() 方法,监听按钮点击事件。