java+io+swing实现学生信息管理系统

Java+IO+Swing实现学生信息管理系统

学生信息管理系统是一款常见的管理工具,它可以帮助学校、老师或管理员轻松地管理学生的信息。本篇攻略将会使用Java语言结合IO和Swing技术来实现学生信息管理系统。

1. 项目搭建

首先打开你喜欢的IDE,选择新建Java项目,并添加Swing库。

java+io+swing实现学生信息管理系统

然后新建一个Main类,它将作为程序的入口点。接下来,创建一个Swing窗体并设置它的样式和布局,这个窗体就是我们的主页面。

public class Main extends JFrame {
    private JPanel contentPane;
    private JTextField textFieldName;
    private JTextField textFieldId;
    private JTextField textFieldAge;
    private JButton btnSave;
    private JButton btnLoad;

    public Main() {
        setTitle("学生信息管理系统");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setBounds(100, 100, 450, 300);

        contentPane = new JPanel();
        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
        setContentPane(contentPane);
        contentPane.setLayout(null);

        JLabel lblNewLabel = new JLabel("姓名");
        lblNewLabel.setBounds(38, 48, 54, 15);
        contentPane.add(lblNewLabel);

        JLabel lblNewLabel_1 = new JLabel("学号");
        lblNewLabel_1.setBounds(38, 90, 54, 15);
        contentPane.add(lblNewLabel_1);

        JLabel lblNewLabel_2 = new JLabel("年龄");
        lblNewLabel_2.setBounds(38, 131, 54, 15);
        contentPane.add(lblNewLabel_2);

        textFieldName = new JTextField();
        textFieldName.setBounds(123, 45, 185, 21);
        contentPane.add(textFieldName);
        textFieldName.setColumns(10);

        textFieldId = new JTextField();
        textFieldId.setBounds(123, 87, 185, 21);
        contentPane.add(textFieldId);
        textFieldId.setColumns(10);

        textFieldAge = new JTextField();
        textFieldAge.setBounds(123, 128, 185, 21);
        contentPane.add(textFieldAge);
        textFieldAge.setColumns(10);

        btnSave = new JButton("保存");
        btnSave.setBounds(38, 182, 93, 23);
        contentPane.add(btnSave);

        btnLoad = new JButton("读取");
        btnLoad.setBounds(215, 182, 93, 23);
        contentPane.add(btnLoad);
    }

    public static void main(String[] args) {
        Main frame = new Main();
        frame.setVisible(true);
    }
}

你会发现,我们创建了一个JFrame类型的对象,并在构造方法里设置了它的一些属性,如标题、大小、布局等。同时,我们也设置了一个form表单,并添加了一些标签和输入框,以及保存和读取按钮。

接下来,我们需要添加一些事件,使这些按钮可以响应用户的操作。同时,也需要为保存和读取按钮添加一些实际内容的逻辑。

2. 添加事件和逻辑

在Main类中,添加如下方法:

private void initEvent() {
    btnSave.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            saveFile(textFieldName.getText(), textFieldId.getText(), textFieldAge.getText());
        }
    });

    btnLoad.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            String[] strs = readFile();
            textFieldName.setText(strs[0]);
            textFieldId.setText(strs[1]);
            textFieldAge.setText(strs[2]);
        }
    });
}

private void saveFile(String name, String id, String age) {
    File file = new File("data.txt");
    String data = name + "," + id + "," + age;

    try {
        FileOutputStream fos = new FileOutputStream(file);
        fos.write(data.getBytes());
        fos.flush();
        fos.close();
        JOptionPane.showMessageDialog(null, "保存成功");
    } catch (IOException e) {
        e.printStackTrace();
    }
}

private String[] readFile() {
    File file = new File("data.txt");
    String data = "";

    try {
        FileInputStream fis = new FileInputStream(file);
        byte[] buffer = new byte[fis.available()];
        fis.read(buffer);
        fis.close();
        data = new String(buffer);
    } catch (IOException e) {
        e.printStackTrace();
    }

    return data.split(",");
}

我们首先在initEvent方法中,为保存和读取按钮添加了ActionListener。这个监听器会在用户点击按钮时执行所提供的事件。

接着,saveFile方法会将表单中填写的信息保存到一个名为data.txt的文本文件中。这里我们使用了FileOutputStream类来操作文件输出流。

而readFile方法则是从文件中读取保存的信息。这里我们使用了FileInputStream类来操作文件输入流,将数据读取到内存中后通过split方法进行拆分,最终返回一个字符串数组。

3. 测试

现在项目已经完成,可以运行程序并测试它的功能。在Main类中,添加如下代码:

public Main() {
    // ...
    initEvent();
    String[] strs = readFile();
    textFieldName.setText(strs[0]);
    textFieldId.setText(strs[1]);
    textFieldAge.setText(strs[2]);
}

这里我们在程序启动后直接读取文件,并将文件中已保存的信息显示到表单上。

java+io+swing实现学生信息管理系统

结合上述操作,我们可以使用Java语言结合IO和Swing编写一个简单的学生信息管理系统。在实际开发中,可以添加更多的功能和模块,以满足实际需要。

例子1:Java实现学生信息管理系统

例子2:Java+MySQL实现学生信息管理系统

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java+io+swing实现学生信息管理系统 - Python技术站

(0)
上一篇 2023年5月24日
下一篇 2023年5月25日

相关文章

  • 详解在spring中使用JdbcTemplate操作数据库的几种方式

    下面是“详解在spring中使用JdbcTemplate操作数据库的几种方式”的完整攻略。 1. 前言 在Spring开发中,使用JdbcTemplate操作数据库是常见的一种方式,可以方便地完成对数据库的CRUD操作。JdbcTemplate是Spring对JDBC API的封装,使得对数据库的操作更加简单、安全和易于维护。本文将对在Spring中使用Jd…

    Java 2023年5月20日
    00
  • Java如何通过反射获取Constructor、Field、Method对象

    Java中的反射机制允许我们在运行时操作类、方法、属性等信息。获取Constructor、Field、Method对象是反射机制的基础操作,下面详细介绍Java如何通过反射获取Constructor、Field、Method对象的完整攻略。 获取Constructor对象 获取Constructor对象的过程需要通过Class对象的getConstructo…

    Java 2023年5月26日
    00
  • 详解SpringBoot定时任务说明

    下面我来详细讲解一下“详解SpringBoot定时任务说明”的完整攻略。 什么是SpringBoot定时任务? SpringBoot定时任务是指在特定的时间或周期性的执行一些任务,比如定时生成报表、清理数据库等。SpringBoot框架中提供了丰富的定时任务支持,可以通过简单的配置来实现这些任务。 定时任务的实现方式 基于注解和功能接口实现定时任务 Spri…

    Java 2023年5月19日
    00
  • java实现简单的英文文本单词翻译器功能示例

    Java实现简单的英文文本单词翻译器功能示例攻略 需求分析 我们需要实现一个简单的英文文本单词翻译器,实现以下功能: 输入一段英文文本。 选择想要翻译的单词。 选择翻译的目标语言。 输出翻译后的结果。 技术方案 我们将采用以下技术方案来实现上述需求: 采用Java编程语言。 通过读取API或者自定义语料库,获取单词的翻译。 采用Java图形用户界面(GUI)…

    Java 2023年5月19日
    00
  • jsp 文件下载示例代码

    下面是关于 JSP 文件下载示例代码的完整攻略: 一、准备工作 在编写 JSP 文件下载示例之前,我们需要准备以下工作: 创建一个 download.jsp 页面,用于处理文件下载请求并返回文件内容; 确定要下载的文件路径,并将该路径作为参数传递给 download.jsp 页面。 二、JSP 文件下载示例代码 以下是一个标准的 JSP 文件下载示例代码: …

    Java 2023年6月15日
    00
  • Java 类与对象超基础讲解

    Java 类与对象超基础讲解 什么是Java类与对象? Java是一种面向对象编程(OOP)语言,具有类与对象的概念。 类(Class)是Java中一种用户定义的数据类型,用于定义对象的属性和方法。 对象(Object)是类的一个实例,是Java中真实存在的实体。 类与对象的关系类似于模板与山寨货的关系。类是设计图纸,而一个具体的对象则是由这张设计图纸所呈现…

    Java 2023年5月26日
    00
  • java Beanutils.copyProperties( )用法详解

    Java BeanUtils.copyProperties()用法详解 BeanUtils.copyProperties()是Apache Commons BeanUtils库中提供的一个方法,它可以将一个Java Bean的属性值拷贝到另一个Java Bean中。该方法提供了一个方便的方式来将两个不同对象之间的属性值进行复制。 方法签名 以下是BeanUt…

    Java 2023年5月20日
    00
  • Spring Boot thymeleaf模板引擎的使用详解

    感谢你对Spring Boot和Thymeleaf模板引擎的关注。下面是Spring Boot Thymeleaf模板引擎的使用详解攻略: 1. Thymeleaf简介 Thymeleaf是一个现代化的服务器端Java模板引擎,可以将模板渲染成HTML、XML、JavaScript等格式,并提供模板缓存机制,允许HTML页面的热部署。 2. Spring B…

    Java 2023年6月15日
    00
合作推广
合作推广
分享本页
返回顶部