今天为大家分享一个java语言编写的医院预约程序,目前系统功能已经很全面,后续会进一步完善。整个系统界面漂亮,有完整得源码,希望大家可以喜欢。喜欢的帮忙点赞和关注。一起编程、一起进步
开发环境
开发语言为Java,开发环境Eclipse或者IDEA都可以,数据为MySQL。运行主程序,或者执行打开JAR文件即可以运行本程序。
系统框架
利用JDK自带的SWING框架开发。纯窗体模式,直接运行Main文件即可以。同时带有详细得设计文档。
系统主要功能
项目背景
随着计算机技术的发展和医院改革的推进,信息化、管理科学化已深深的渗透到医院各项工作管理中,医院门诊查询系统是顺应时代发展的需要,提高医院管理的效率而开发的一个系统。通过把需要大量人力物力简单的查询预约的工作,实现用计算机的自动化操作,实现了医院管理的简单化和规划化,提高了医院的工作效率,从而使医院能够以少的投入获得更好的社会效益与经济效益
运行办法
下载源码后,导入到Eclipse或者IDEA中,然后运行Main.java,出现登陆界面即表示程序运行成功
主要模块
针对实际需求,本次课程设计开发了一套医院预约管理系统。系统分病人,系统管理员2种用户。
普通用户
系统实现了用户的注册,登录,在线查看各个科室的医生,在线预约医生。
系统管理员
系统管理员在系统中拥有最大的权限,可以对用户和订单进行处理
(1)用户管理功能:管理员在进入用户管理界面,对用户的信息进行修改操作。
(2)订单管理功能:此模块中管理员可以对用户预约订单进行增删改查操作。
运行效果






关键代码
package com.nanyou.yuyue.ui;
import java.awt.*;
import javax.swing.*;
import javax.swing.border.EmptyBorder;
import com.nanyou.yuyue.entity.User;
import com.nanyou.yuyue.service.UserService;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
/**
*
* @author 这里是程序的入端口,接受用户输入的用户名和密码,如果
*校验通过,则跳转到主界面,否则提示用户名或者密码错
*/
public class Login extends JFrame {
private JPanel contentPane;
private JTextField adminName;//用户名输入框
private JPasswordField adminPwd;//密码输入框
static String admin = "";//保存用户输入的用户名
static String usertype="";//保存登录用户的用户类型
static String password = "";
UserService us = new UserService();//实例化一个service
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Login frame = new Login();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.,初始化UI
*/
public Login() {
setTitle("医院预约挂号系统");//设置标题
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//是否可以关闭
setBounds(650, 250, 800, 550);//设置大小
contentPane = new JPanel();
contentPane.setBackground(new Color(0, 255, 255));//设置背景
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
JLabel lblNewLabel = new JLabel("");
lblNewLabel.setIcon(new ImageIcon(Login.class
.getResource("/com/nanyou/yuyue/ui/background.jpg")));
lblNewLabel.setBounds(0, 0, 304, 494);
contentPane.add(lblNewLabel);//设置背景图片
JLabel lblNewLabel_1 = new JLabel("医院预约挂号系统");//标题
lblNewLabel_1.setHorizontalAlignment(SwingConstants.CENTER);
lblNewLabel_1.setFont(new Font("隶书", Font.PLAIN, 50));
lblNewLabel_1.setBounds(319, 50, 444, 107);
contentPane.add(lblNewLabel_1);
/**用户名字标签设置*/
JLabel lblNewLabel_2 = new JLabel("用户名:");
lblNewLabel_2.setHorizontalAlignment(SwingConstants.RIGHT);
lblNewLabel_2.setFont(new Font("宋体", Font.PLAIN, 25));
lblNewLabel_2.setBounds(319, 172, 102, 44);
contentPane.add(lblNewLabel_2);//加入到面板里面来
/**密码label标签设置*/
JLabel label = new JLabel("密码:");
label.setHorizontalAlignment(SwingConstants.RIGHT);
label.setFont(new Font("宋体", Font.PLAIN, 25));
label.setBounds(319, 237, 102, 44);
contentPane.add(label);
/**用户名输入框设置*/
adminName = new JTextField();
adminName.setBounds(437, 183, 290, 27);
contentPane.add(adminName);
adminName.setColumns(10);
/**退出按钮设置,并且注册一个事件响应*/
JButton btnNew = new JButton("退出");
btnNew.setBackground(Color.LIGHT_GRAY);
btnNew.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(Login.this, "系统将退出", "提示",
JOptionPane.INFORMATION_MESSAGE);
System.exit(0);
}
});
/**登录按钮设置,并且注册一个事件响应*/
btnNew.setFont(new Font("宋体", Font.PLAIN, 25));
btnNew.setBounds(604, 346, 123, 44);
contentPane.add(btnNew);
JButton btnLoad = new JButton("登录");
btnLoad.setBackground(Color.GRAY);
btnLoad.setFont(new Font("宋体", Font.PLAIN, 25));
btnLoad.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
admin = adminName.getText();
char[] pwd = adminPwd.getPassword();
password = new String(pwd);
User returnuser = us.userLogin(admin, password);
if (returnuser != null) {//登录成功
usertype=returnuser.getUsertype();//记录用户的类型,是普通用户,还是系统管理员登录的,不同类型,权限不一样的
MainOperation mo = new MainOperation();//主界面
mo.run();//打开主界面
Login.this.dispose();//登录框隐藏
} else {//登录失败,弹出提示框
JOptionPane.showMessageDialog(Login.this,
"用户名或密码错误",null,
JOptionPane.INFORMATION_MESSAGE);
}
}
});
btnLoad.setBounds(367, 346, 123, 44);//设置显示的坐标位置
contentPane.add(btnLoad);//加入到面板里面来
adminPwd = new JPasswordField();
adminPwd.setBounds(436, 248, 291, 27);
contentPane.add(adminPwd);
}
}
项目总结
经过半个月的熬夜编码,我终于完成的医院挂号预约系统设计与开发,达到了预期的目标。在开发的过程中过程中遇到不少困难,通过查阅相关资料,反复琢磨,请教同学,问题最终都得以解决。虽然系统的基本功能都已实现,但还是存在系统不稳定,操作提示操作不够友好等多个问题尚待解决。这个系统主要是我自己开发的,但也得到了老师和同学的很大帮助,在此对他们表示感谢。