今天为大家分享一个java语言编写的在线考试系统-049,目前系统功能已经很全面,后续会进一步完善。整个系统界面漂亮,有完整得源码,希望大家可以喜欢。喜欢的帮忙点赞和关注。一起编程、一起进步
开发环境
开发语言为Java,开发环境Eclipse或者IDEA都可以。数据库采用:MySQL。运行主程序,或者执行打开JAR文件即可以运行本程序。
系统框架
利用JDK自带的SWING框架开发,不需要安装第三方JAR包。MySQL数据库,纯窗体模式,直接运行Main文件即可以
主要功能
运行方法
1 运行Main.java文件
2 程序出现在线考试系统登陆的面板
主要模块
本次分享的为Java编写的窗体版本程序--在线考试系统,其主要目的是能对大学生在日常学习过程的知识进行有效的测试,通过系统了解大学生对课程知识的掌握程度,以便老师更好的有针对性的进行教学调整。其主要功能如下:
1 用户通过用户名和密码,登陆到在线考试系统中。同时也可以点退出按钮,退出在线考试系统
2 核对考生信息:学生在成功登陆到考试系统后,会弹出学号、姓名、专业、学院等信息,点击核对无误按钮后进入系统考试。
3 参与在线考试:学生点击在线考试按钮,开始考试。考试的过程从逐个题目开始作答,每个题目有对应的分数,答对获取相应的分数;打错该题得0分。答完所有题目后,点击交卷,完成本次考试。
4 查看考试成绩:学生点击主界面上得查看成绩,可以查看到本次考试得成绩和错题信息。
5 退出系统。学生点击退出按钮,退出整个应用程序。
这个项目涵盖了java 窗体编程的各种知识,包括UI界面设计、时间处理、数据库操作、事件处理操作等。通过这个项目能快速提升java 窗体编程,是非常好一个有价值的的项目。代码可以直接运行,没有任何bug。
项目运行效果






关键源码
package gui;
import java.awt.BorderLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import client.Action;
import entity.Request;
import entity.Response;
import entity.Student;
public class LoginFrame extends JFrame implements ActionListener {
/**
*
*/
private static final long serialVersionUID = 554475657575L;
private JLabel title;
private JLabel idLabel, passwdLabel;
private JTextField idField;
private JPasswordField passwdField;
private JButton ok, cancel;
private Action action;
public LoginFrame() {
super("考生登录");
action = new Action();
title = new JLabel("考生登录");
title.setFont(new Font("WenQuanYi Zen Hei", Font.BOLD, 18));
idLabel = new JLabel("学号:");
idLabel.setFont(new Font("WenQuanYi Zen Hei", Font.BOLD, 12));
passwdLabel = new JLabel("密码:");
passwdLabel.setFont(new Font("WenQuanYi Zen Hei", Font.BOLD, 12));
idField = new JTextField(15);
passwdField = new JPasswordField(15);
ok = new JButton("登录");
ok.setFont(new Font("WenQuanYi Zen Hei", Font.BOLD, 12));
cancel = new JButton("取消");
cancel.setFont(new Font("WenQuanYi Zen Hei", Font.BOLD, 12));
init();
addEventHandler();
}
/**
* 该方法设置界面布局
*
*/
private void init() {
JPanel northPanel = new JPanel();
northPanel.add(title);
JPanel centerPanel = new JPanel();
centerPanel.add(idLabel);
centerPanel.add(idField);
centerPanel.add(passwdLabel);
centerPanel.add(passwdField);
JPanel southPanel = new JPanel();
southPanel.add(ok);
southPanel.add(cancel);
this.add(southPanel, BorderLayout.SOUTH);
this.add(centerPanel, BorderLayout.CENTER);
this.add(northPanel, BorderLayout.NORTH);
}
/**
* 该方法为图形组件添加事件监听
*
*/
private void addEventHandler() {
ok.addActionListener(this);
cancel.addActionListener(this);
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent arg0) {
System.exit(0);
}
});
}
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals("登录")) {
login();
} else if (e.getActionCommand().equals("取消")) {
System.exit(0);
}
}
private void login() {
// 判断输入框中ID和密码是否为空,若为空则返回。
if (idField.getText().trim().equals("")
|| new String(passwdField.getPassword()).trim().equals("")) {
JOptionPane.showMessageDialog(this, "ID 和密码不能为空!");
return;
}
String ids = idField.getText().trim();
String passwd = new String(passwdField.getPassword()).trim();
Request req = new Request(Request.LOGIN_REQUEST);
int id = Integer.parseInt(ids);
req.addData("id", id);
req.addData("passwd", passwd);
Response res = action.doAction(req);
// 解析代码
analyseResponse(res);
}
private void analyseResponse(Response res) {
Student s = (Student) res.getData("Student");
if (s == null) {
JOptionPane.showMessageDialog(this, "您的帐号或密码有误,请重新输入");
return;
} else {
this.dispose();
new WelcomeFrame(s).showMe();
return;
}
}
/**
* 该方法设置界面大小,可见性及默认关闭操作。
*
*/
public void showMe() {
this.setSize(240, 180);
this.setResizable(false);
this.setLocation(400, 300);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
}
}
这是一个使用Java语言开发的在线考试系统,基于SWING框架,集成MySQL数据库。系统提供用户登录、核对信息、在线考试、查看成绩和退出等功能,旨在测试大学生的课程知识掌握情况。源码完整,适合学习Java窗体编程和数据库操作。
3万+

被折叠的 条评论
为什么被折叠?



