【小学期】静态页面设计——以学生管理系统为例

小龙 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,为学生管理系统的进一步开发打下基础。



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。