引言:如果需要定制类似的图形界面版的Java 管理系统,比如控制台版的,Java web版的,ssm版,开发工具为idea和eclipse、myEclipse的,提供远程服务,需要源码,或者需要项目实训、毕业设计系统、论文指导的,可以加我QQ1728608455。
本次的学生信息管理系统为图形界面版,如若需要别的版本,可以参考我写的其他博客,希望能帮助那些爱学习的人。
1、效果图
部分重要代码展示
package management;
/**
* 登录界面
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class LoginMain {
private JTextField IDText; //学号文本框
private JPasswordField passwdText; //密码文本框
private JComboBox box; //身份下拉列表框
private JLabel loginlab; //登录状态标签
private JFrame jframe; //窗体
public LoginMain(){
JLabel userlab = new JLabel("学 号:",JLabel.CENTER);//创建学号标签
IDText = new JTextField(25); //实例学号文本框
JLabel passwdlab = new JLabel("密 码:",JLabel.CENTER);//创建密码标签
passwdText = new JPasswordField(25);//实例化密码文本框
loginlab = new JLabel("登录状态:",JLabel.CENTER);//实例化登录状态标签
JLabel IDlabel = new JLabel("身份:");
String str[] = {"student","teacher"};//创建下拉列表选项数组
box = new JComboBox(str);
jframe = new JFrame("学生管理系统登录界面");//实例化一个窗口,并设置标题
JPanel userPanel= new JPanel(); //创建userPanel面板
JPanel passwdPanel = new JPanel();//创建passwdPanel面板
JPanel buttonPanel = new JPanel();//创建 buttonPanel面板
JPanel labelPanel = new JPanel(); //labelPanel面板
userPanel.add(userlab);//将userlab添加到userPanel面板
userPanel.add(IDText); //将IDText添加到userPanel面板
passwdPanel.add(passwdlab);
passwdPanel.add(passwdText);
JButton submit = new JButton("登录");//创建按钮并设置文本
JButton reset = new JButton("重置");
buttonPanel.add(IDlabel);//
buttonPanel.add(box);//将下拉列表框添加到buttonPanel面板
buttonPanel.add(submit);
buttonPanel.add(reset);
Font font=new Font("楷体",Font.BOLD+Font.PLAIN,35);
loginlab.setFont(font);//设置loginlab标签文本字体
loginlab.setForeground(Color.blue);
labelPanel.add(loginlab);
submit.addActionListener(new ActionListener(){
//注册submit按钮事件监听器
public void actionPerformed(ActionEvent e){
String user=IDText.getText();//获取学号
String passwd=new String (passwdText.getPassword());//获取密码
String identity= (String) box.getSelectedItem();
LoginCheck date=new LoginCheck(user,passwd,identity);
//连接数据库
System.out.println(user+" "+passwd+" "+identity);
boolean flag=date.prepared();
System.out.println(flag);
if(flag){//判断是否为合法用户
if("teacher".equals(identity)){
new TeacherInterface();
jframe.dispose();
}
else{
System.out.println("haha");
new StudentInterface(user);//登录学生界面
jframe.dispose(); //隐藏当前窗体
}
loginlab.setForeground(Color.green);
loginlab.setText("登陆成功!!!");
}
else{
loginlab.setForeground(Color.red);
loginlab.setText("登陆失败!!!");
}
}
});
reset.addActionListener(new ActionListener(){
//注册reset事件监听
public void actionPerformed(ActionEvent e){
IDText.setText("");//重置学号
passwdText.setText("");
loginlab.setForeground(Color.blue);
loginlab.setText("请重新登录!!!");
}
});
jframe.setLayout(new GridLayout(4,1));
jframe.add(userPanel);
jframe.add(passwdPanel);
jframe.add(buttonPanel);
jframe.add(labelPanel);
jframe.setSize(400,200);
jframe.setLocation(250,350);
jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//窗口关闭方式
jframe.setVisible(true);
}
public static void main(String[] args){
new LoginMain();
}
}
package management;
//查询全部学生功能
import java.sql.*;
import java.util.*;
import javax.swing.JOptionPane;
import sqlpackage.DBConnection;
public class StudentAllInformation {
public static List
}
package management;
/**
* 添加学生功能实现
* @author Administrator
*
*/
import java.sql.*;
import javax.swing.JOptionPane;
import sqlpackage.DBConnection;
public class AddStudentInformation {
public static int add(String id, String name, String passwd, String sex, String add, String phone, String dorm,
String result, double point) {
// TODO Auto-generated method stub
Connection conn=null;//连接数据库对象
PreparedStatement pstmt=null;//预编译对象
int rows=0;//更新语句行数变量
try{
conn=DBConnection.getConnection();//获取数据库连接
String sql="insert into Student(id,sname,password,sex,haddress,phone,dorm,result )values(?,?,?,?,?,?,?,?)";
//
pstmt=conn.prepareStatement(sql);//使用预编译语句进行插入操作
pstmt.setString(1,id);//将名称参数设置到 sql语句中
pstmt.setString(2,name);
pstmt.setString(3,passwd);
pstmt.setString(4,sex);
pstmt.setString(5,add);
pstmt.setString(6,phone);
pstmt.setString(7,dorm);
pstmt.setDouble(8,point);
rows=pstmt.executeUpdate();//执行更新操作
}catch(SQLException e){
System.out.println("插入数据时发生异常");
e.printStackTrace();
}finally{
//DBConnection.close(pstmt);//关闭操作数据库对象资源
DBConnection.close(conn);//关闭连接数据库对象资源
}
return rows;
}
public static int update(String id, String name, String passwd, String sex, String add, String phone, String dorm,
String result, double point) {
Connection conn=null;//连接数据库对象
PreparedStatement pstmt=null;//预编译语句对象
int rows=0;//结果集对象
try{
conn=DBConnection.getConnection();//获取数据库连接
String sql="UPDATE student set password=?,sex=?,haddress=?,phone=?,dorm=?where id=?";
pstmt=conn.prepareStatement(sql);//使用预编译语句进行操作
pstmt.setString(1,passwd);//将名称参数设置到 sql语句中
pstmt.setString(2,sex);
pstmt.setString(3,add);
pstmt.setString(4,phone);
pstmt.setString(5,dorm);
pstmt.setString(6,id);
rows=pstmt.executeUpdate();//执行更新操作
}catch(SQLException e){//判断是否发生异常
JOptionPane.showMessageDialog(null, "插入数据时发生异常","**提示信息**",
JOptionPane.INFORMATION_MESSAGE );
//发生异常
}finally{
//DBConnection.close(pstmt);//关闭操作数据库对象资源
DBConnection.close(conn);//关闭数据库连接
}
return rows;
}
public static boolean check(String id) {
// TODO Auto-generated method stub
Connection conn=null;//连接数据库对象
PreparedStatement pstmt=null;//预编译语句对象
ResultSet rs = null;//结果集语句对象
try{
conn=DBConnection.getConnection();//获取数据库连接
String sql="SELECT id student from student where id=?";
//
pstmt=conn.prepareStatement(sql);//使用预编译语句进行操作
pstmt.setString(1,id);//将name参数设置到 sql语句中
rs=pstmt.executeQuery();//获取结果集
if(rs.next()){//判断结果集中是否有数据
return true;
}
}catch(SQLException e){
System.out.println("插入数据时发生异常");
e.printStackTrace();
}finally{
DBConnection.close(conn);//关闭连接数据库对象资源
}
return false;
}
}
package management;
//删除学生界面
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class DelStudentInterface extends JFrame{
private static final long serialVersionUID=-1928970409928880648L;//序列化版本号??
JLabel lsid=new JLabel("学 号 :");//创建学号标签
JTextField tsid=new JTextField("",20);//创建学号文本框
JButton delStudent=new JButton("删除学生");//创建删除学生按钮
JButton reset=new JButton("重置");
public DelStudentInterface(){
JPanel idPan=new JPanel();//创建学号面板
JPanel bPan=new JPanel();
idPan.add(lsid);
idPan.add(tsid);
bPan.add(delStudent);
bPan.add(reset);
delStudent.addActionListener(new ActionListener(){
//注册delStudent监听器
public void actionPerformed(ActionEvent e){
String id=tsid.getText();//取得学号信息
if(id==null||"".equals(id)){
JOptionPane.showMessageDialog(null, "学号不能为空!!!",
"**提示信息**",JOptionPane.INFORMATION_MESSAGE);
return;
}
if((DelStudentInformation.delete(id))<1){
JOptionPane.showMessageDialog(null, "删除失败!!!",
"**提示信息**",JOptionPane.INFORMATION_MESSAGE);
return;
}else{
JOptionPane.showMessageDialog(null, "删除"+id+"成功!!!",
"**提示信息**",JOptionPane.INFORMATION_MESSAGE);
}
}
});
reset.addActionListener(new ActionListener(){
//注册reset监听器
public void actionPerformed(ActionEvent e){
tsid.setText("");
}
});
this.setTitle("删除学生信息界面");//设置窗口标题
this.setLayout(new GridLayout(2,1));//设置窗口布局管理器
this.add(idPan);//将学号面板添加到窗体中
this.add(bPan);
this.setLocation(400,300);//设置窗体初始位置
this.setSize(350,150);//设置窗体大小
this.setVisible(true);//设置窗体可见
}
}
package management;
//获取学生成绩
import java.sql.*;
import javax.swing.JOptionPane;
//import javax.swing.JOPtionPane;
import sqlpackage.ResultSelect;
public class ResultSelectInformation {
public static double average() {
// TODO Auto-generated method stub
double result=0;
String sql="Select AVG(result) From student";
ResultSet rs=ResultSelect.executeQuery(sql);//获取结果集
try{
if(rs.next()){
result=rs.getDouble(1);
}
}catch(SQLException e){
JOptionPane.showMessageDialog(null, "查询平均成绩发生异常","**提示信息**",
JOptionPane.INFORMATION_MESSAGE );
}
return result;
}
/**
* 求学生的总体成绩情况
*/
public static int[] selectResult() {
// TODO Auto-generated method stub
int rate[]=new int[5];
String sqlCount="Select count(id) from student";
String failCount="select(select COUNT(result) from student where result<60);";
String passCount="select(select COUNT(result) from student where result>=60 and result<75);";
String fineCount="select(select COUNT(result) from student where result>=75 and result<85);";
String excellentCount="select(select COUNT(result) from student where result>=85);";
ResultSet rs=null;
try{
rs=ResultSelect.executeQuery(sqlCount);
if(rs.next()){
rate[0]=rs.getInt(1);
}
}catch(SQLException e){
JOptionPane.showMessageDialog(null, "查询总人数发生异常","**提示信息**",
JOptionPane.INFORMATION_MESSAGE );
}
try{
rs=ResultSelect.executeQuery(failCount);
if(rs.next()){
rate[1]=rs.getInt(1);
}
}catch(SQLException e){
JOptionPane.showMessageDialog(null, "查询不及格人数发生异常","**提示信息**",
JOptionPane.INFORMATION_MESSAGE );
}
try{
rs=ResultSelect.executeQuery(passCount);
if(rs.next()){
rate[2]=rs.getInt(1);
}
}catch(SQLException e){
JOptionPane.showMessageDialog(null, "查询及格人数发生异常","**提示信息**",
JOptionPane.INFORMATION_MESSAGE );
}
try{
rs=ResultSelect.executeQuery(fineCount);
if(rs.next()){
rate[3]=rs.getInt(1);
}
}catch(SQLException e){
JOptionPane.showMessageDialog(null, "查询良好人数发生异常","**提示信息**",
JOptionPane.INFORMATION_MESSAGE );
}
try{
rs=ResultSelect.executeQuery(excellentCount);
if(rs.next()){
rate[4]=rs.getInt(1);
}
}catch(SQLException e){
JOptionPane.showMessageDialog(null, "查询优秀发生异常","**提示信息**",
JOptionPane.INFORMATION_MESSAGE );
}
return rate;
}
}
希望能帮到大家。