Java学生信息管理系统.docx

上传人:b****8 文档编号:12626727 上传时间:2023-06-06 格式:DOCX 页数:29 大小:21.63KB
下载 相关 举报
Java学生信息管理系统.docx_第1页
第1页 / 共29页
Java学生信息管理系统.docx_第2页
第2页 / 共29页
Java学生信息管理系统.docx_第3页
第3页 / 共29页
Java学生信息管理系统.docx_第4页
第4页 / 共29页
Java学生信息管理系统.docx_第5页
第5页 / 共29页
Java学生信息管理系统.docx_第6页
第6页 / 共29页
Java学生信息管理系统.docx_第7页
第7页 / 共29页
Java学生信息管理系统.docx_第8页
第8页 / 共29页
Java学生信息管理系统.docx_第9页
第9页 / 共29页
Java学生信息管理系统.docx_第10页
第10页 / 共29页
Java学生信息管理系统.docx_第11页
第11页 / 共29页
Java学生信息管理系统.docx_第12页
第12页 / 共29页
Java学生信息管理系统.docx_第13页
第13页 / 共29页
Java学生信息管理系统.docx_第14页
第14页 / 共29页
Java学生信息管理系统.docx_第15页
第15页 / 共29页
Java学生信息管理系统.docx_第16页
第16页 / 共29页
Java学生信息管理系统.docx_第17页
第17页 / 共29页
Java学生信息管理系统.docx_第18页
第18页 / 共29页
Java学生信息管理系统.docx_第19页
第19页 / 共29页
Java学生信息管理系统.docx_第20页
第20页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Java学生信息管理系统.docx

《Java学生信息管理系统.docx》由会员分享,可在线阅读,更多相关《Java学生信息管理系统.docx(29页珍藏版)》请在冰点文库上搜索。

Java学生信息管理系统.docx

Java学生信息管理系统

1、实验题目

学生管理系统

2、实验目的

Forpersonaluseonlyinstudyandresearch;notforcommercialuse

 

⏹掌握实际开发的步骤。

⏹能够熟练开发和学生管理系统相类似的系统。

⏹掌握Java中的界面开发。

⏹掌握Java中如何连接数据库。

 

3、实验设备及仪器

计算机一台,配置有JDK环境

4、实验内容

编写学生管理系统程序,利用图形界面构造系统的客户端服务界面,连接数据库,使得学生教师能简单方便地对数据进行存储修改

5、实验步骤

(1)首先确定学生管理系统的用户。

(2)学生管理系统的用户基本分为两类,分别是老师和学生。

不管是哪种用户都是必须经过登录才能进入学生管理系统的,所以该系统必须有一个登录界面,并且在该界面中能够让用户选择用户是老师还是学生。

该系统是不会对外开放的,所以也不存在注册界面。

(3)因为用户分为两种,所以每一种用户进行操作的界面应该是不同的。

首先是学生界面,在其中应该只有查询成绩和个人信息查询和插入。

主要来学习如何进行学生界面开发。

(4)除了学生界面外,还要有一个老师界面。

老师在老师界面中可以对学生信息进行管理,包括查询、修改和删除。

同样也可以对学生的成绩进行管理,包括查询和插入,由于输入错误还要能够对学生的成绩进行修改,由于学生作弊还能够将学生的成绩进行删除。

(5)首先数据库中应该有老师和学生这两个表,表中应该最少有用户名和密码两项,使用表中的这两项就可以进行登录。

在学生表中还应该具有一些和学籍相关的信息,包括年龄、班级等内容,这样就可以在系统中对学生信息进行操作。

(6)除此之外还需要一个成绩表,通过该表老师可以对学生的成绩进行查询、插入、修改和删除。

学生也可以通过该表对自己的成绩进行查询。

(7)不管是老师和学生进入学生管理系统都是从登录界面进入的。

在登录界面中应该是让用户选择自己身份的,然后系统将根据用户的选择来判断用户的身份并进行查询不同的数据库。

(8)对界面设计好基本形式后,就可以进行程序开发。

首先要定义两个标签和两个文本框,分别来表示用户名和密码。

并且还需要定义一个下拉列表让用户来进行身份选择,其中选项包括“学生”和“老师”。

在程序的最后还定义了两个按钮,从而让用户输入用户名和密码后进行登录。

(9)在学生界面中,学生可以对自己的信息进行查询,在第一次登录时还可以对自己的信息进行插入,并且学生能够查询自己的成绩。

(10)因为学生要完成对信息和成绩的操作,所以这里的设计是在界面中定义两个菜单,分别进行信息和成绩的操作。

因为对信息的操作包括插入和查询,所以还需要在信息菜单下定义“插入”和“查询”两个子菜单。

(11)对界面进行设计后,就可以进行程序开发。

同样首先是创建一个窗口,在窗口中要创建两个菜单,并且在信息菜单下还要创建“插入”和“查询”两个子菜单。

(12)在学生界面中单击“信息”菜单下的“插入”子菜单,就会进入学生插入界面,在该界面中学生可以输入自己的信息。

(13)学生第一次插入信息后,老师是可以对学生的信息进行修改和删除的。

除此之外,学生还可以查询自己被修改后的信息,在信息菜单下有一个查询子菜单,单击该菜单就触发事件,从而进入查询学生信息界面。

(14)在学生界面中还有一个“成绩”菜单,在学生的界面该菜单下只有一个“查询”子菜单。

单击“查询”子菜单,将触发事件,进入到查询成绩界面。

6、附录

(1)登陆界面

importjava.awt.*;

importjavax.swing.*;

import;

importjava.sql.*;

publicclasssystemsextendsJFrameimplementsActionListener

{

staticsystemsss;

JPanelpanel=newJPanel();

JLabellabel1=newJLabel("输入姓名:

");

JTextFieldname=newJTextField();

JLabellabel2=newJLabel("密码:

");

JPasswordFieldpwd=newJPasswordField();

JButtonEnter=newJButton("登录");

JButtonExit=newJButton("退出");

Stringurl="D:

\\Systems\\title.jpg";

ButtonGroupbgp=newButtonGroup();

JRadioButtonstu=newJRadioButton("学生");

JRadioButtontch=newJRadioButton("教师");

publicsystems()

{

super("登录系统");

this.setResizable(false);

JLabelimg=newJLabel(newImageIcon(url));

img.setBounds(0,0,500,100);

panel.add(img);

stu.setBounds(165,210,70,20);

tch.setBounds(265,210,70,20);

bgp.add(stu);

bgp.add(tch);

panel.add(stu);

panel.add(tch);

Enter.setBounds(150,250,80,20);

Exit.setBounds(270,250,80,20);

Enter.addActionListener(this);

Exit.addActionListener(this);

panel.add(Enter);

panel.add(Exit);

panel.setLayout(null);

this.add(panel);

label1.setBounds(135,130,100,25);

panel.add(label1);

name.setBounds(265,130,100,25);

panel.add(name);

label2.setBounds(135,165,100,25);

panel.add(label2);

pwd.setBounds(265,165,100,25);

panel.add(pwd);

this.setBounds(100,100,500,350);

this.setVisible(true);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

publicvoidactionPerformed(ActionEvente)

{

if(e.getSource()==Enter)

{

Stringusername,password;

username=name.getText();

password=pwd.getText();

try

{

Class.forName("");

}

catch(ClassNotFoundExceptionce)

{

JOptionPane.showMessageDialog(ss,ce.getMessage());

}

if(stu.isSelected())

{

try

{

Connectioncon=DriverManager.getConnection("jdbc:

odbc:

sysdb","sa","");

Statementstmt=con.createStatement();

ResultSetrs=stmt.executeQuery("select*fromSTU");

while(rs.next())

{

if((rs.getString("ID").equals(username))&&(rs.getString("Pwd").equals(password)))

{

JOptionPane.showMessageDialog(ss,"登陆成功");

Studentsstu=newStudents();

}

else

{

JOptionPane.showMessageDialog(ss,"登录失败");

}

}

rs.close();

stmt.close();

}

catch(SQLExceptionse)

{

JOptionPane.showMessageDialog(ss,se.getMessage());

}

}

elseif(tch.isSelected())

{

try

{

Connectioncon=DriverManager.getConnection("jdbc:

odbc:

systchdb","sa","");

Statementstmt=con.createStatement();

ResultSetrs=stmt.executeQuery("select*fromTCH");

while(rs.next())

{

if((rs.getString("ID").equals(username))&&(rs.getString("Pwd").equals(password)))

{

JOptionPane.showMessageDialog(ss,"登陆成功");

}

else

{

JOptionPane.showMessageDialog(ss,"登录失败");

}

}

}

catch(SQLExceptionse)

{

JOptionPane.showMessageDialog(ss,se.getMessage());

}

}

}

else

{

System.exit(0);

}

}

publicstaticvoidmain(String[]args)

{

systemssys=newsystems();

}

}

(2)学生界面

importjava.awt.*;

importjavax.swing.*;

import;

publicclassStudentsextendsJFrameimplementsActionListener

{

JMenuBarjmb=newJMenuBar();

JMenuMessage=newJMenu("信息");

JMenuScore=newJMenu("成绩");

JMenuItemItem1=newJMenuItem("插入");

JMenuItemItem2=newJMenuItem("查询");

JMenuItemItem3=newJMenuItem("查询");

publicStudents()

{

super("学生界面");

this.setSize(500,400);

this.setVisible(true);

this.setResizable(false);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setJMenuBar(jmb);

jmb.add(Message);

jmb.add(Score);

Message.add(Item1);

Message.add(Item2);

Score.add(Item3);

Item1.addActionListener(this);

Item2.addActionListener(this);

Item3.addActionListener(this);

}

publicvoidactionPerformed(ActionEvente)

{

if(e.getSource()==Item1)

{

AddMsgad=newAddMsg();

}

elseif(e.getSource()==Item2)

{

Serchser=newSerch();

}

else

{

Scoreso=newScore();

}

}

publicstaticvoidmain(String[]args)

{

Studentsstu=newStudents();

}

}

(3)添加学生信息

importjava.awt.*;

importjavax.swing.*;

import;

importjava.sql.*;

publicclassAddMsgextendsJFrameimplementsActionListener

{

staticAddMsgs;

/*添加学生信息控件*/

JPaneljpl=newJPanel();

JLabellabel1=newJLabel("添加基本信息",JLabel.CENTER);

JLabellabel2=newJLabel("学号:

",JLabel.CENTER);

JLabellabel3=newJLabel("姓名:

",JLabel.CENTER);

JLabellabel4=newJLabel("性别:

",JLabel.CENTER);

JLabellabel5=newJLabel("班级:

",JLabel.CENTER);

JLabellabel6=newJLabel("学院:

",JLabel.CENTER);

JTextFieldnum=newJTextField

(2);

JTextFieldnam=newJTextField(4);

ButtonGroupbgp=newButtonGroup();

JRadioButtonman=newJRadioButton("男");

JRadioButtonwomen=newJRadioButton("女");

JTextFieldclas=newJTextField();

JTextFieldscl=newJTextField();

JButtonreset=newJButton("重置");

JButtonaddmsg=newJButton("添加");

publicAddMsg()

{

super("添加学生信息");

this.setResizable(false);

this.setSize(500,400);

this.setVisible(true);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.add(jpl);

jpl.setLayout(null);

addmsg.addActionListener(this);

reset.addActionListener(this);

/*插入面板*/

label1.setBounds(100,20,300,20);

jpl.add(label1);

label2.setBounds(100,50,70,20);

jpl.add(label2);

num.setBounds(190,50,140,20);

jpl.add(num);

label3.setBounds(100,90,70,20);

jpl.add(label3);

nam.setBounds(190,90,140,20);

jpl.add(nam);

label4.setBounds(100,130,70,20);

jpl.add(label4);

man.setBounds(190,130,60,20);

women.setBounds(270,130,60,20);

jpl.add(man);

jpl.add(women);

bgp.add(man);

bgp.add(women);

label5.setBounds(100,170,70,20);

jpl.add(label5);

clas.setBounds(190,170,140,20);

jpl.add(clas);

label6.setBounds(100,210,70,20);

jpl.add(label6);

scl.setBounds(190,210,140,20);

jpl.add(scl);

reset.setBounds(120,250,90,20);

addmsg.setBounds(240,250,90,20);

jpl.add(reset);

jpl.add(addmsg);

}

publicvoidactionPerformed(ActionEvente)

{

if(e.getSource()==addmsg)

{

Stringsex;

if(man.isSelected())

{

sex="男";

}

else

{

sex="女";

}

try

{

Class.forName("");

}

catch(ClassNotFoundExceptionce)

{

JOptionPane.showMessageDialog(s,ce.getMessage());

}

try

{

Connectioncon=DriverManager.getConnection("jdbc:

odbc:

sysdb","sa","");

Statementstmt=con.createStatement();

inta=stmt.executeUpdate("insertintoSTU(ID,Pwd,Name,Sex,Class,Collage)values('"+num.getText()+"','"+"','"+nam.getText()+"','"+sex+"','"+clas.getText()+"','"+scl.getText()+"')");

if(a==1)

{

JOptionPane.showMessageDialog(s,"已成功添加");

}

else

{

JOptionPane.showMessageDialog(s,"添加失败");

}

stmt.close();

}

catch(SQLExceptionse)

{

JOptionPane.showMessageDialog(s,se.getMessage());

}

}

else

{

num.setText("");

nam.setText("");

clas.setText("");

scl.setText("");

num.requestFocus();

}

}

publicstaticvoidmain(String[]args)

{

AddMsgamg=newAddMsg();

}

}

(4)添加学生成绩

importjava.awt.*;

importjavax.swing.*;

import;

importjava.sql.*;

publicclassAddscoreextendsJFrameimplementsActionListener

{

staticAddscoress;

JLabel[]label={newJLabel("学号:

"),newJLabel("计算机网络:

"),newJLabel("Linux操作系统:

"),newJLabel("计算机专业英语:

"),newJLabel("计算机信息技术基础:

"),newJLabel("Java程序设计:

"),newJLabel("数据库应用实训教程:

"),newJLabel("高等数学:

"),newJLabel("XML:

")};

JTextField[]txt={newJTextField(),newJTextField(),newJTextField(),newJTextField(),newJTextField(),newJTextField(),newJTextField(),newJTextField(),newJTextField()};

JButtonadd=newJButton("添加");

JButtonreset=newJButton("重置");

JPaneljpl=newJPanel();

JLabeltitle=newJLabel("添加学生成绩",JLabel.CENTER);

Fontf=newFont("黑体",Font.BOLD,16);

ints=100;

publicAddscore()

{

super("添加学生信息");

this.setResizable(false);

this.setSize(500,600);

this.setDefaultCloseOperation(EXIT_ON_CLOSE);

this.setVisible(true);

this.add(jpl);

add.addActionListener(t

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2