【小学期】静态页面设计——以学生管理系统为例
小龙 2024-07-28 16:05:02 阅读 80
使用Swing设计学生管理系统的静态页面
我们将学习如何使用Java Swing来设计一个学生管理系统的静态页面。我们将创建一个主窗口,其中包含一些基本的组件,如标签、文本框、按钮和表格。
项目结构
首先,假设我们的项目目录结构如下:
<code>student_management
│
├── src
│ ├── model
│ │ ├── Student.java
│ │ └── StudentDAO.java
│ │
│ ├── view
│ │ └── StudentView.java
│ │
│ ├── controller
│ │ └── StudentController.java
│ │
│ └── util
│ ├── DBUtil.java
│ ├── EncodingUtil.java
│ └── OtherUtil.java
│
└── resources
└── database.properties
我们将主要关注view
目录下的StudentView.java
文件。
1. 创建StudentView类
创建StudentView.java
文件,并编写以下代码:
package view;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
/**
* 学生管理系统的主视图
*/
public class StudentView extends JFrame {
private JTextField idField;
private JTextField nameField;
private JTextField ageField;
private JTextField gradeField;
private JButton addButton;
private JButton updateButton;
private JButton deleteButton;
private JButton viewButton;
private JTable studentTable;
public StudentView() {
// 设置窗口标题
setTitle("学生管理系统");
// 设置窗口大小
setSize(800, 600);
// 设置窗口关闭操作
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 设置窗口居中
setLocationRelativeTo(null);
// 初始化组件
initComponents();
// 设置窗口可见
setVisible(true);
}
/**
* 初始化组件
*/
private void initComponents() {
// 创建面板
JPanel panel = new JPanel();
panel.setLayout(new BorderLayout());
// 创建顶部面板(表单区域)
JPanel topPanel = new JPanel();
topPanel.setLayout(new GridLayout(5, 2, 10, 10));
// 添加表单组件
topPanel.add(new JLabel("学号:"));
idField = new JTextField();
topPanel.add(idField);
topPanel.add(new JLabel("姓名:"));
nameField = new JTextField();
topPanel.add(nameField);
topPanel.add(new JLabel("年龄:"));
ageField = new JTextField();
topPanel.add(ageField);
topPanel.add(new JLabel("年级:"));
gradeField = new JTextField();
topPanel.add(gradeField);
// 创建按钮面板
JPanel buttonPanel = new JPanel();
buttonPanel.setLayout(new GridLayout(1, 4, 10, 10));
// 添加按钮
addButton = new JButton("添加");
updateButton = new JButton("更新");
deleteButton = new JButton("删除");
viewButton = new JButton("查看");
buttonPanel.add(addButton);
buttonPanel.add(updateButton);
buttonPanel.add(deleteButton);
buttonPanel.add(viewButton);
// 将按钮面板添加到顶部面板
topPanel.add(buttonPanel);
// 创建表格面板
JPanel tablePanel = new JPanel();
studentTable = new JTable();
JScrollPane scrollPane = new JScrollPane(studentTable);
tablePanel.setLayout(new BorderLayout());
tablePanel.add(scrollPane, BorderLayout.CENTER);
// 将顶部面板和表格面板添加到主面板
panel.add(topPanel, BorderLayout.NORTH);
panel.add(tablePanel, BorderLayout.CENTER);
// 将主面板添加到窗口
add(panel);
}
public static void main(String[] args) {
// 显示主窗口
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new StudentView();
}
});
}
}
代码详解:
构造方法StudentView
:设置窗口标题、大小、关闭操作、居中显示,并初始化组件。initComponents
方法:初始化所有Swing组件,包括面板、标签、文本框、按钮和表格。main
方法:使用SwingUtilities.invokeLater
确保在事件调度线程上创建和显示GUI。
2. 添加事件监听器
接下来,我们为按钮添加简单的事件监听器。在实际应用中,这些监听器会调用控制器来处理逻辑。
private void initComponents() {
// 创建面板
JPanel panel = new JPanel();
panel.setLayout(new BorderLayout());
// 创建顶部面板(表单区域)
JPanel topPanel = new JPanel();
topPanel.setLayout(new GridLayout(5, 2, 10, 10));
// 添加表单组件
topPanel.add(new JLabel("学号:"));
idField = new JTextField();
topPanel.add(idField);
topPanel.add(new JLabel("姓名:"));
nameField = new JTextField();
topPanel.add(nameField);
topPanel.add(new JLabel("年龄:"));
ageField = new JTextField();
topPanel.add(ageField);
topPanel.add(new JLabel("年级:"));
gradeField = new JTextField();
topPanel.add(gradeField);
// 创建按钮面板
JPanel buttonPanel = new JPanel();
buttonPanel.setLayout(new GridLayout(1, 4, 10, 10));
// 添加按钮
addButton = new JButton("添加");
updateButton = new JButton("更新");
deleteButton = new JButton("删除");
viewButton = new JButton("查看");
buttonPanel.add(addButton);
buttonPanel.add(updateButton);
buttonPanel.add(deleteButton);
buttonPanel.add(viewButton);
// 添加事件监听器
addButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// 添加学生信息的逻辑
JOptionPane.showMessageDialog(StudentView.this, "添加学生信息");
}
});
updateButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// 更新学生信息的逻辑
JOptionPane.showMessageDialog(StudentView.this, "更新学生信息");
}
});
deleteButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// 删除学生信息的逻辑
JOptionPane.showMessageDialog(StudentView.this, "删除学生信息");
}
});
viewButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// 查看学生信息的逻辑
JOptionPane.showMessageDialog(StudentView.this, "查看学生信息");
}
});
// 将按钮面板添加到顶部面板
topPanel.add(buttonPanel);
// 创建表格面板
JPanel tablePanel = new JPanel();
studentTable = new JTable();
JScrollPane scrollPane = new JScrollPane(studentTable);
tablePanel.setLayout(new BorderLayout());
tablePanel.add(scrollPane, BorderLayout.CENTER);
// 将顶部面板和表格面板添加到主面板
panel.add(topPanel, BorderLayout.NORTH);
panel.add(tablePanel, BorderLayout.CENTER);
// 将主面板添加到窗口
add(panel);
}
代码详解:
为每个按钮添加了ActionListener
,在按钮点击时显示一个消息对话框。实际应用中,你可以在这些监听器中调用控制器的方法来处理逻辑。
总结
在本文中,我们设计了一个使用Swing创建的学生管理系统的静态页面。我们实现了以下内容:
创建主窗口:设置窗口标题、大小、关闭操作、居中显示。初始化组件:包括面板、标签、文本框、按钮和表格。添加事件监听器:为按钮添加简单的事件监听器。
通过这种方式,我们可以创建一个简单而功能齐全的GUI,为学生管理系统的进一步开发打下基础。
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。