智能医学工程-计算机程序设计-2025版-实验09:图形界面程序设计

12 阅读3分钟

一、实验目的

在上一节实验指导完成的程序基础上,本节实验课将进一步完善医院患者信息录入模块,通过简单的Java Swing组件来实现患者信息录入、保存、查询显示等功能,提升我们对Java Swing 组件以及组件事件的理解和应用能力。

二、实验学时

2学时

三、实验类型

验证性

四、实验需求

1、硬件

每人配备计算机1台,建议优先使用个人计算机开展实验。

2、软件

安装IntelliJ IDEA,以及Java运行所需要的相关基础环境。

3、网络

本地主机能够访问互联网。

4、工具

无。

五、实验任务

基于Java Swing可视化组件完善医院患者信息录入模块,该系统能够实现以下功能:

  1. 窗体分为患者信息录入区域以及患者信息查询区域(以下布局仅做参考,鼓励自行尝试设计其他布局形式)。
  2. 左侧为患者信息录入区域,表单输入项包括患者姓名、患者身份证号、患者手机号、患者地址;
  3. 点击患者信息录入区域保存按钮后将表单数据存入实验08中使用过的文本文件中(一个患者信息数据为一行,患者属性用间隔符分隔)。
  4. 保存成功后进行弹窗提示,并重置表单。
  5. 右侧为患者信息查询区域,包含数据展示表格以及查询按钮。
  6. 左侧患者数据保存成功后,点击患者信息查询按钮可以从数据文本文件中查询出最新的全部患者信息。

六、实验内容及步骤

窗体UI布局开发;

package org.forhis.chapter_13.solution;

import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import java.awt.*;
import java.io.*;
import java.util.*;
import java.util.List;

public class PatientOperate {

    private static final String FILE_PATH = "database.txt";

    public static void main(String[] args) {

        // 创建窗口
        JFrame mainFrame = new JFrame();
        // 设置窗口关闭操作(EXIT_ON_CLOSE表示关闭窗口时退出程序)
        mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        // 设置窗口标题
        mainFrame.setTitle("患者信息管理");
        
        //Todo: 第一步: 完善窗体组件

        // 设置窗口为可见(必须调用此方法来显示窗口)
        mainFrame.setVisible(true);
    }
}

表单患者数据保存到本地文本文件中;

package org.forhis.chapter_13.solution;

import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import java.awt.*;
import java.io.*;
import java.util.*;
import java.util.List;

public class PatientOperate {

    private static final String FILE_PATH = "database.txt";

    public static void main(String[] args) {

        // 创建窗口
        JFrame mainFrame = new JFrame();
        // 设置窗口关闭操作(EXIT_ON_CLOSE表示关闭窗口时退出程序)
        mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        // 设置窗口标题
        mainFrame.setTitle("患者信息管理");

        // Todo: 第一步: 完善窗体组件

        // Todo: 第二步: 完善保存按钮事件
        saveButton.addActionListener(e -> {
            // ...
        });

        // 设置窗口为可见(必须调用此方法来显示窗口)
        mainFrame.setVisible(true);
    }
}

本地文本数据库中患者信息查询展示;

package org.forhis.chapter_13.solution;

import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import java.awt.*;
import java.io.*;
import java.util.*;
import java.util.List;

public class PatientOperate {

    private static final String FILE_PATH = "database.txt";

    public static void main(String[] args) {

        // 创建窗口
        JFrame mainFrame = new JFrame();
        // 设置窗口关闭操作(EXIT_ON_CLOSE表示关闭窗口时退出程序)
        mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        // 设置窗口标题
        mainFrame.setTitle("患者信息管理");

        // Todo: 第一步: 完善窗体组件

        // Todo: 第二步: 完善保存按钮事件
        saveButton.addActionListener(e -> {
            // ...
        });

        // Todo: 第三步: 完善查询按钮事件
        searchButton.addActionListener(e -> {
            // ...
        });

        // 设置窗口为可见(必须调用此方法来显示窗口)
        mainFrame.setVisible(true);
    }
}

七、实验考核

本实验考核采用【实验随堂查】方式开展。

每个实验完成后,在实验课上通过现场演示的方式向实验指导教师进行汇报,并完成现场问答交流。

每个实验考核满分100分,其中实验成果汇报60分,现场提问交流40分。

实验考核流程:

(1)学生演示汇报实验内容的完成情况,实验指导老师现场打分。

(2)指导老师结合实验内容进行提问,每位学生回答2-3个问题,根据回答的情况现场打分。

(3)实验考核结束后,进行公布成绩。