java学生管理系统代码
第一篇:java学生管理系统代码
学生成绩管理系统 java源代码
package com.student.enty;
//姓名学号语文数学英语public class Student {
private String name;
private int num;
private double chi;
private double mat;
private double eng;//声明成员变量 public String getName() {
return name;
}
public void setName(String name) {this.name = name;
}
public int getNum() {
return num;
}
public void setNum(int num) {this.num = num;
}
public double getChi() {
return chi;
}
public void setChi(double chi) {this.chi = chi;
}
public double getMat() {
return mat;
}
public void setMat(double mat) {this.mat = mat;
}
public double getEng() {
return eng;
}
public void setEng(double eng) {this.eng = eng;
}
}
第二篇:个人通讯录管理系统,java源代码
package cn.pab.manager;
import java.util.List; import java.util.Scanner;
import cn.pab.dao.PersonDao; import cn.pab.dao.TypeDao; import cn.pab.dao.UserDao; import cn.pab.dao.impl.PersonDaoImpl; import cn.pab.dao.impl.TypeDaoImpl; import cn.pab.dao.impl.UserDaoImpl; import cn.pab.entity.Person; import cn.pab.entity.Type; /** * 业务类
*/ public class PABmanager { /**
* 系统启动
*/ public static void main(String[] args) {
Scanner input = new Scanner(System.in);
UserDao userDao = new UserDaoImpl();
TypeDao typeDao = new TypeDaoImpl();
PersonDao personDao = new PersonDaoImpl();
System.out.println("***********欢迎使用个人通讯录管理系统**********");
System.out.print(" 请选择操作(1.系统登录
2.密码修改
3.取消):");
String in = input.next();
if ("1".equals(in)) {
boolean islogin = userDao.login();
if(islogin){
System.out.println("***********成功登录个人通讯录管理系统**********");
//System.out.print(" 请选择操作(1.类别管理
2.联系人管理
3.退出系统):");
}else{
System.out.println("用户名或密码错误,不能登录!");
System.exit(-1);
}
}else if ("2".equals(in)) {
boolean modiFlag = userDao.modify();
if(modiFlag){
System.out.println("密码修改成功!"); }else{
System.out.println("密码修改失败!"); } System.exit(-1); }else{ System.out.println("您已经退出系统!"); System.exit(-1); }
while(true){
System.out.print(" 请选择操作(1.类别管理
2.联系人管理
3.退出系统):"); String in2 = input.next(); if ("1".equals(in2)) { while(true){
System.out.print(" 请继续选择操作(1.新建类别
2.查询类别
3.删除类别
4.返回):");
String num = input.next();
if ("1".equals(num)) {
System.out.print("请输入类别的名称:"); String lbmc = input.next();
System.out.print("请输入类别的说明:"); String lbsm = input.next(); System.out.print("请输入类别的备注:"); String lbbz = input.next();
Type type = new Type(lbmc,lbsm,lbbz);
typeDao.createType(type); }else if ("2".equals(num)) { List types = typeDao.queryType();
System.out.println(" 类别信息列表");
System.out.println("类别名称 类别说明 类别备注");
for (int i = 0; i < types.size(); i++) {
Type type =types.get(i);
System.out.print(type.getLbmc()+" ");
System.out.print(type.getLbsm()+ " ");
System.out.println(type.getLbbz());
}
}else if ("3".equals(num)) {
System.out.print("请输入类别的名称:");
String lbmc = input.next();
Type type = new Type(lbmc,null,null);
typeDao.deleteType(type); }else if ("4".equals(num)) { break; }else{
System.out.println("您输入不合法,请重新选择!");
}
} }else if ("2".equals(in2)) {
while(true){
System.out.print(" 请继续选择操作(1.新建联系人
2.查询联系人
3.更新联系人
4.删除联系人
5.返回):");
String num = input.next();
if ("1".equals(num)) {
System.out.print("请输入联系人的类别名称:"); String lb = input.next();
System.out.print("请输入联系人的姓名:"); String xm = input.next();
System.out.print("请输入联系人的电话:"); String dh = input.next();
System.out.print("请输入联系人的手机号:"); String sjh = input.next();
System.out.print("请输入联系人的工作单位:"); String gzdw = input.next();
System.out.print("请输入联系人的住址:");
String zz = input.next();
System.out.print("请输入联系人的邮政编码:");
String yzbm = input.next();
Person person = new Person(lb,xm,dh,sjh,gzdw,zz,yzbm);
personDao.createPerson(person);
}else if ("2".equals(num)) {
System.out.print("请输入联系人的姓名:");
String name = input.next();
Person p = personDao.queryPerson(name);
System.out.println(" 查询到的联系人信息");
System.out.println("类别 姓名 电话 手机号 工作单位 住址 邮政编码");
System.out.print(p.getLb() + " ");
System.out.print(p.getXm() + " ");
System.out.print(p.getDh() + " ");
System.out.print(p.getSjh() + " ");
System.out.print(p.getGzdw() + " ");
System.out.print(p.getZz() + " ");
System.out.println(p.getYzbm());
}
} }
}else if ("3".equals(num)) {
System.out.print("请输入需更新的联系人编号:");
int id = input.nextInt();
System.out.print("请输入需更新的联系人信息选项:");
String item = input.next();
System.out.print("请输入联系人信息选项的值:");
String val = input.next();
personDao.updatePerson(id,item, val);
}else if ("4".equals(num)) {
System.out.print("请输入要删除联系人的姓名:");
String name = input.next();
personDao.deletePerson(name);
}else if ("5".equals(num)) {
break;
}else{
System.out.println("您输入不合法,请重新选择!");
} } }else if ("3".equals(in2)) { System.out.println("您已经退出系统!"); System.exit(-1); }else{ System.out.println("您输入不合法,请重新选择!"); }
第三篇:java音乐播放器源代码(ChatClient)
package ChatClient;
import java.awt.*; import java.net.*; import java.awt.event.*; import java.io.*; import java.applet.*; class AudioClipWindow extends Frame implements Runnable,ItemListener,ActionListener { Thread thread;
Choice choice;
URL url;
AudioClip clip;
Button buttonPlay,
buttonLoop,
buttonStop;
String str;
AudioClipWindow(ActionListener chatClient)
{
thread=new Thread(this);
choice=new Choice();
choice.add("陈绮贞-我在那一角落患过伤风.wav");
choice.add("no one wants forever .wma.wav");
choice.add("中岛美嘉 - 雪之华(韩雪-飘雪)日文版.wav");
choice.addItemListener(this);
buttonPlay=new Button("播放");
buttonLoop=new Button("循环");
buttonStop=new Button("停止");
buttonPlay.addActionListener(this);
buttonStop.addActionListener(this);
buttonLoop.addActionListener(this);
setLayout(new FlowLayout());
add(choice);
add(buttonPlay);
add(buttonLoop);
add(buttonStop);
setSize(350,120);
setVisible(true);
addWindowListener(new WindowAdapter()
{ public void windowClosing(WindowEvent e)
{ System.exit(0);
}
});
validate();
}
public void itemStateChanged(ItemEvent e)
{ str=choice.getSelectedItem();
if(!(thread.isAlive()))
{ thread=new Thread(this);
}
try{ thread.start();
}
catch(Exception ee){}
}
public void run()
{ try{ File file=new File(str);
url=file.toURL();
clip=Applet.newAudioClip(url);
}
catch(Exception e)
{ System.out.println(e);
}
}
public void actionPerformed(ActionEvent e)
{ if(e.getSource()==buttonPlay)
{ clip.play();
}
else if(e.getSource()==buttonLoop)
{ clip.loop();
}
if(e.getSource()==buttonStop)
{ clip.stop();
}
} }
第四篇:学生信息管理系统源代码
import java.io.*;
class StuInfo {
public String name;
public int number;
public String sex;
public String age;
public String bir;
public String email;
public String addr;
public String tel;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getBir() {
return bir;
}
public void setBir(String bir) {
this.bir = bir;
}
public String getEmail() {
return email;
} public void setEmail(String email ) {
this.email = email; } public String getAddr() {
return addr; } public void setAddr(String addr) {
this.addr = addr; } public String getTel() {
return tel; } public void setTel(String tel) {
this.tel = tel; } } public class Student { private static PrintStream out = System.out; private static String filename = "Stu.txt"; private static int total = 0; private static int rt = 0;//recyle length private StuInfo[] stuInfos; private StuInfo[] recycle; BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));//创建缓冲流
public Student(){
stuInfos = new StuInfo[11];
}
public void 信息录入(){
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
try{
System.out.print(" 请输入学生信息(以0结束) ");
System.out.print("学号: ");
StuInfo stu = new StuInfo();
stu.setNumber(Integer.parseInt(buf.readLine()));
while(stu.getNumber()!=0) {
System.out.print("姓名: ");
stu.setName(buf.readLine());
System.out.print("性别: ");
stu.setSex(buf.readLine());
System.out.print("年龄: ");
stu.setAge (buf.readLine());
System.out.print("生日: ");
stu.setBir(buf.readLine());
System.out.print("邮箱: ");
stu.setEmail(buf.readLine());
System.out.print("地址: ");
stu.setAddr(buf.readLine());
System.out.print("电话: ");
stu.setTel(buf.readLine());
//添加其他输入信息
stuInfos[total]=stu;
total++;
stu = new StuInfo();
System.out.print(" 请输入下一个学生信息(以0结束) ");
System.out.print("姓名: ");
stu.setName(buf.readLine());
}
}catch(Exception e){
out.print(e);
}
} public void 保存数据(){ try{
FileWriter fwr=new FileWriter(filename);
BufferedWriter fw = new BufferedWriter(fwr);
fw.write(total+" ");
for(int k=0;k
fw.write(stuInfos[k].getNumber()+" ");
fw.write(stuInfos[k].getName()+" ");
fw.write(stuInfos[k].getSex()+" ");
fw.write(stuInfos[k].getAge()+" ");
fw.write(stuInfos[k].getBir()+" ");
fw.write(stuInfos[k].getEmail()+" ");
fw.write(stuInfos[k].getAddr()+" ");
fw.write(stuInfos[k].getTel()+" ");
}
fw.write(rt+" ");
for(int k=0;k
fw.write(recycle[k].getNumber()+" ");
fw.write(recycle[k].getName()+" ");
fw.write(recycle[k].getSex()+" ");
} fw.write(recycle[k].getAge()+" "); fw.write(recycle[k].getBir()+" "); fw.write(recycle[k].getEmail()+" "); fw.write(recycle[k].getAddr()+" "); fw.write(recycle[k].getTel()+" ");
}
fw.flush();
fw.close();
fwr.close();
System.out.println(" 已保存数据!"); }catch(Exception e){ out.print(e); } public void 读取数据(){
try{
FileReader fr = new FileReader(filename);
BufferedReader bfr = new BufferedReader(fr);
String buff = bfr.readLine();
if(buff != null) {
total = Integer.parseInt(buff);
}else{
total = 0;
}
StuInfo stu;
for(int i=0; i
stu = new StuInfo();
stu.setNumber(Integer.parseInt(bfr.readLine()));
stu.setName(bfr.readLine());
stu.setSex(bfr.readLine());
stu.setAge(bfr.readLine());
stu.setBir(bfr.readLine());
stu.setEmail(bfr.readLine());
stu.setAddr(bfr.readLine());
stu.setTel(bfr.readLine());
stuInfos[i]=stu;
}
buff = bfr.readLine();
if(buff!= null) {
rt = Integer.parseInt(buff);
}else{
rt = 0;
}
for(int i=0; i
stu = new StuInfo(); stu.setNumber(Integer.parseInt(bfr.readLine())); stu.setName(bfr.readLine()); stu.setSex(bfr.readLine()); stu.setAge(bfr.readLine()); stu.setBir(bfr.readLine()); stu.setEmail(bfr.readLine()); stu.setAddr(bfr.readLine()); stu.setTel(bfr.readLine());
//补全
} recycle[i]=stu;
}
// bfr.flush();
bfr.close();
fr.close();
System.out.println("读取成功"); }catch(Exception e){ out.print(e); } public void 显示学生(StuInfo[] stus,int length){ try{
out.println("----------"); for(int i=0;i
out.println("学号:"+stus[i].getNumber());
out.println("姓名:"+stus[i].getName());
out.println("性别:"+stus[i].getSex());
out.println("年龄:"+stus[i].getAge());
out.println("生日:"+stus[i].getBir());
out.println("邮箱:"+stus[i].getEmail());
out.println("地址:"+stus[i].getAddr());
out.println("电话:"+stus[i].getTel()); //输出其他内容.....
out.println("----------");
}
System.out.println("请按任意键继续");
buf.read();//
} }catch(Exception e){ out.print(e); }
public void 姓名查询(String name){ StuInfo[] result = new StuInfo[11]; int r = 0; for(int i=0;i
if(stuInfos[i].getName().equals(name)){
result[r]=stuInfos[i];
r++;
} } if(r==0){
System.out.print("查找不到该学生!"); //提示找不到学生
return; }else{
显示学生(result, r); } } public void 学号查询(String number ){ StuInfo[] result = new StuInfo[11]; int r = 0; for(int i=0;i
if(Integer.toString(stuInfos[i].getNumber()).equals(number)){
result[r]=stuInfos[i];
r++;//补全
} } if(r==0){
System.out.print("查找不到该学生!");//提示找不到学生
}else{
显示学生(result, r); } } public void 查找菜单(){//全字匹配
int choice; try{
do{
System.out.println("查找界面");//
System.out.println("1:按姓名查询");
System.out.println("2:按学号查询");
System.out.println("0:返回上级");
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
choice = Integer.parseInt(buf.readLine());
switch(choice){
case 1:
System.out.println("请输入姓名");//获得输入的姓名
String name = buf.readLine();
姓名查询(name); break; case 2:
System.out.println("请输入学号"); String number = buf.readLine(); 学号查询(number);//获得输入的学号
break;
default:
System.out.println("对不起,出现异常!");
//异常:7
}
}while(choice!=0);
}catch(Exception e){
out.print(e);
}
}
public boolean 修改学生(int number) {
boolean flag = false;
try{
for(int i=0;i
if(stuInfos[i].getNumber()==number) {
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
StuInfo stu = new StuInfo();
System.out.print(" 请输入学生信息 ");
System.out.print("姓名: ");
stu.setName(buf.readLine());
System.out.print("性别: ");
stu.setSex(buf.readLine());
System.out.print("年龄: ");
stu.setAge (buf.readLine());
System.out.print("生日: ");
stu.setBir(buf.readLine());
System.out.print("邮箱: ");
stu.setEmail(buf.readLine());
break;
}
}
}catch(Exception e){
out.print(e);
}
return flag; }
System.out.print("地址: "); stu.setAddr(buf.readLine());
System.out.print("电话: "); stu.setTel(buf.readLine()); stu.setNumber(number); stuInfos[i]=stu;
System.out.print("修改完成啦!");//提示修改完成
public boolean 删除学生(int number){ boolean flag = false;
} for(int i=0;i
if(rt==0){
recycle = new StuInfo[101];
}
recycle[rt]=stuInfos[i];
for(;i
stuInfos[i]=stuInfos[i+1];
}
total--;
flag=true;
break; } } return flag;
public
void 删除页面(){ System.out.print("删除页面");//请输入要删除的学号
try{
int choice;
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
System.out.println("1:学生信息修改");
System.out.println("2:学生信息删除");
System.out.println("请输入您的选择(1--2)");
//...
choice = Integer.parseInt(buf.readLine());
switch(choice){
case 1:
System.out.println("请输入要修改的学号:"); choice = Integer.parseInt(buf.readLine());
修改学生(choice);
break; case 2:
System.out.println("请输入要删除的学号:"); choice = Integer.parseInt(buf.readLine());
删除学生(choice); break; //补充
} /*if(删除学生(choice)){
System.out.print("删除成功!");//删除成功
}else{
System.out.print("删除失败!");//删除失败
}*/ }catch(Exception e){ out.print(e); } } public void showMenu() { try{
int choice;
do{
System.out.println("学生管理系统主菜单界面");
System.out.println("1:学生信息录入");
System.out.println("2:学生信息浏览");
System.out.println("3:学生信息查询");
System.out.println("4:学生修改与删除");
System.out.println("5:学生信息保存");
System.out.println("6:学生信息读取");
System.out.println("0:退出系统");
System.out.println("请输入您的选择(0--6)");
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
choice = Integer.parseInt(buf.readLine());
switch(choice){
case 1:
信息录入();//
break;
case 2:
//补全方法调用
显示学生(stuInfos, total);
break;
case 3:
查找菜单();
break;
case 4:
删除页面();
break;
case 5:
保存数据();
break;
case 6:
读取数据();
break;
default:
System.out.print("出现异常!");
}
}while(choice!=0);
}catch(Exception e){
System.out.println(e);
}
// TODO 自动生成的方法存根
}
public static void main(String[] args) {
Student student = new Student();
student.showMenu();
} }
//异常:7
第五篇:大学JAVA课程设计——学生信息管理系统
沈阳理工大学课程设计
沈阳理工大学课程设计
摘要
Java语言是当前最为流行的程序设计语言之一,诸多优秀的的特性使其成为被业界广泛认可和采用的工具。本设计可以帮助同学掌握和应运所学的面向对象程序设计学生学籍信息管理系统的编程内容,培养同学们建立对象模型,处理对象和对象集关系和对图形用回界面设计编程以及文件和流的编程问题的能力,训练同学为解决实际问题而创建较完整的简单面向对象和管理系统编程应运程序的独立编程能力.本设计是一个常见的学生学籍管理系统应运程序.
系统实现的功能: 界面操作实现学生学籍信息的添加、删除、查询、修改功能,在文本文件中的的信息的动态处理。
关键词:
学生学籍管理系统;图形用户界面设计;文件和流;java
I
沈阳理工大学课程设计
目 录
一、课程设计的目的与意义 .......................................................................................... 1
1.目的 .......................................................... 1 2.意义 .......................................................... 1
二、需求分析 .......................................................................................................................... 1
1. 学生学籍管理系统主界面模块 ................................ 1 2. 录入学生基本信息模块 ...................................... 1 3. 修改学生基本信息模板 ...................................... 1 3. 查询学生基本信息模板 ...................................... 1 4. 删除学生基本信息模板 ...................................... 1
三、分案设计 .......................................................................................................................... 3
1. 定义四个Panel面板 ...................................... 3
四、方案的实施 ...................................................................................................... 3
五、心得体会 ......................................................................................................... 15
六、参考文献 ......................................................................................................... 16
II
沈阳理工大学课程设计
一、课程设计的目的与意义
目的:深入理解java语言的语法规则及其优势,掌握类与方法的构造方法,掌 握基于java的各种操作的实现方法,训练对基础知识和基本方法的综合运用能力,增强对算法的理解能力,提高软件设计能力。在实践中培养独立分析问题和解决问题的作风和能力。
意义:熟练运用java语言、基本构造方法和算法的基础知识,独立编制一个具有中等难度的、解决实际应用问题的应用程序。通过题意分析、选择类结构、算法设计、编制程序、调试程序、软件测试、结果分析、撰写课程设计报告等环节完成软件设计的全过程,不断地完善程序以提高程序的性能。
二、需求分析
该学生学籍管理系统的所有功能均在一个Frame窗体中实现。 1.学生学籍管理系统主界面模块:
采用Frame窗体来设置欢迎界面包括背景图片及字幕(可以设计成滚动字幕效果),左上方的菜单条设计成下拉式。包括“录入学生基本信息”、“修改学生基本信息”、“删除学生基本信息”、“查询学生基本信息”和“退出系统”五项菜单项。 2.录入学生基本信息模块:
采用Panel面板来设置该部分内容信息并采用方位布局(边缘布局)和Box轻量级组件来设置“学号”、“姓名”、“性别”、“专业”、“年级”、“出生”,并在该面板中添加了“录入”和“重置”两个按钮进行监听,最后将该面板加入到Frame窗体中去。 3.修改学生基本信息模板:
采用Panel面板来设置该部分内容信息,同样是采用方位布局及Box组件来设置相关信息,并在学号旁设置了“开始修改”按钮。在面板南部方位添加了“确定修改”和“重置”两按钮进行监听。 4.查询学生基本信息模板:
采用Panel面板来设置该部分内容信息,并将该面板加入到主窗体中去,采用边缘布局进行方位设置,在上方加入“查询”按钮进行监听。
5.删除学生基本信息模板:
也是采用Panel面板进行设置相关内容,并用边缘布局进行布局,并在上方添加“确定”按钮,在下方添加“确定删除”按钮实现监听。
三、模块设计
定义四个Panel面板
1.定义Reg(录入学生基本信息)面板
采用BorderLayout(构造一个组件之间没有间距的新边界布)和Box轻量级组件进行布局,在面板的Nother方位添加一个“录入学生基本信息”的标签,并更改字体,颜色等。接着用JTextField轻量级组件来设置单行文本编辑,并将其加入到用
1
沈阳理工大学课程设计
createHorizontalBox()方法创建具有一个从左到右显示其组件的Box和用createHorizontalStrut()创建一个不可见的、固定宽度的组件,使其在一个横向 box 中,通常使用此方法强行使两个组件之间具有某一空间量。然后Box与Box之间用createVerticalBox()创建一个从上到下显示其组件的 Box,并用createVerticalStrut()方法创建一个不可见的、固定高度的组件,使其在一个纵向 box 中,通常使用此方法强行使两个组件之间具有某一空间量。然后在面板的South方位设置“录入”与“重置”两按钮。最后实现与数据库的桥接,能够将从文本框获得的信息存储到数据库中去。
2.定义Search(查询学生基本信息)面板
该部分同样采用BorderLayout(构造一个组件之间没有间距的新边界布)和Box轻量级组件进行布局,在面板的Nother方位添加一个“查询学生基本信息”的标签,并更改字体,颜色等。接着用JTextField轻量级组件来设置单行文本编辑,在学号这一文本框后再添加一个“查询”按钮。并将其加入到用createHorizontalBox()方法创建具有一个从左到右显示其组件的Box和用createHorizontalStrut()创建一个不可见的、固定宽度的组件,使其在一个横向 box 中,通常使用此方法强行使两个组件之间具有某一空间量。然后Box与Box之间用createVerticalBox()创建一个从上到下显示其组件的 Box,并用createVerticalStrut()方法创建一个不可见的、固定高度的组件,使其在一个纵向 box 中,通常使用此方法强行使两个组件之间具有某一空间量。最后实现与数据库的桥接,能够将从数据库中获取信息并显示到文本框中去。
3.定义Modify(修改学生基本信息)面板
该部分同样也是采用BorderLayout(构造一个组件之间没有间距的新边界布)和Box轻量级组件进行布局,在面板的Nother方位添加一个“修改学生基本信息”的标签,并更改字体,颜色等。接着用JTextField轻量级组件来设置单行文本编辑,并将其加入到用createHorizontalBox()方法创建具有一个从左到右显示其组件的Box和用createHorizontalStrut()创建一个不可见的、固定宽度的组件,使其在一个横向 box 中,通常使用此方法强行使两个组件之间具有某一空间量。并在 “学号”该文本框后添加一个“开始修改”按钮用来监听。然后Box与Box之间用createVerticalBox()创建一个从上到下显示其组件的 Box,并用createVerticalStrut()方法创建一个不可见的、固定高度的组件,使其在一个纵向 box 中,通常使用此方法强行使两个组件之间具有某一空间量。最后实现与数据库的桥接,能够将从数据库中获取信息并显示到文本框中去,并将修改后的信息存储到数据库中去。
4.定义Delete(删除学生基本信息)面板
该部分还是采用BorderLayout(构造一个组件之间没有间距的新边界布)和Box轻量级组件进行布局,在面板的Nother方位添加一个“修改学生基本信息”的标签,并更改字体,颜色等。接着用JTextField轻量级组件来设置单行文本编辑,在学号这一文本框后再添加一“确定”按钮实现监听。并将其所有文本框和标签加入到用createHorizontalBox()方法创建具有一个从左到右显示其组件的Box和用createHorizontalStrut()创建一个不可见的、固定宽度的组件,使其在一个横向 box 中,通常使用此方法强行使两个组件之间
2
沈阳理工大学课程设计
具有某一空间量。并在 “学号”该文本框后添加一个“开始修改”按钮用来监听。然后Box与Box之间用createVerticalBox()创建一个从上到下显示其组件的 Box,并用createVerticalStrut()方法创建一个不可见的、固定高度的组件,使其在一个纵向 box 中,通常使用此方法强行使两个组件之间具有某一空间量,还在本面板的South方位添加“确定删除”按钮。最后实现与数据库的桥接,能够将从数据库中获取信息并显示到文本框中去,删除后同时在数据库中也删除该信息并保存该操作。
四、方案的实施
1、学生信息管理系统的登录
学生信息管理系统可由管理员和学生两种身份的人使用。管理员和学生身份登录所能操作的功能有很大的区别。系统初始化一个系统管理员,登录名:admin 密码:admin 学生登录系统的登录名为学号,密码也为学号(如:10001),登录后可以修改密码。
登录界面
登录系统后的界面
3
沈阳理工大学课程设计
注册学生信息界面
4
沈阳理工大学课程设计
修改学生信息界面
查询学生信息界面
5
沈阳理工大学课程设计
删除学生信息界面
6
沈阳理工大学课程设计
1 程序类的设计
DeleteListener.java:删除监听 JTMouseListener.java:树状视图 LoginListener.java:登陆监听 ResetListener.java:重置监听 SaveListener.java:保存监听
SearchAllListener.java:搜索所有学生信息 SearchDListener.java:搜索一个学生信息 SearchListener.java:搜索一个学生信息 SearchRListener.java:搜索一个学生信息 SubmitListener.java:提交信息监听
2 系统的使用说明及环境配置
学生信息管理系统提供了管理员和学生这两个角色登录系统,管理员通过用户名:admin 密码:admin 登录系统后可以进行相应的操作。学生通过以自己的学号(如10001)作为用户名和密码登录系统后进行相应的学生权限范围内的操作。 数据库:Mysql 连接数据库的登录名:root 密码:zfz 代码:
DeleteListener.java:删除监听 package manager.ui.listener;
import java.awt.event.ActionEvent; import java.awt.event.ActionListener;
import javax.swing.JButton; import javax.swing.JOptionPane;
import manager.dao.JdbcIcpCURD; import manager.ui.conponent.DeletePanel;
public class DeleteListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
JButton jb=(JButton) e.getSource();
DeletePanel dp=(DeletePanel) jb.getParent();
String xuehao=dp.xuehaoFd.getText();
String msg= "你确定要删除学号为"+xuehao+"的学生信息么?";
int i=JOptionPane.showConfirmDialog(dp,msg,"提",JOptionPane.YES_NO_OPTION,JOptionPane.WARNING_MESSAGE);
if(i==0){
JdbcIcpCURD curd=new JdbcIcpCURD();
boolean b=curd.deleteByXuehao(Integer.parseInt(xuehao));
if(b){
dp.errorLb.setText("删除成功");
}
else{
dp.errorLb.setText("删除失败");
}
}
return; }
7
示信息
沈阳理工大学课程设计
} JTMouseListener.java:树状视图 package manager.ui.listener;
import java.awt.CardLayout; import java.awt.Component; import java.awt.event.MouseEvent; import java.awt.event.MouseListener;
import javax.swing.JTree; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.TreeNode; import javax.swing.tree.TreePath;
import manager.ui.conponent.MainFrame; import manager.ui.conponent.PLeft;
public class JTMouseListener implements MouseListener {
@Override public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub JTree jt=(JTree) e.getSource(); PLeft p=(PLeft) jt.getParent(); MainFrame f=(MainFrame) p.getParent().getParent().getParent().getParent(); TreePath path = jt.getPathForLocation(e.getX(), e.getY()); if(path==null){ return; } DefaultMutableTreeNode node = (DefaultMutableTreeNode) path.getLastPathComponent(); String s=node.toString(); CardLayout cl=f.getPright().getLayout(); if(s.equals("注册学生")){ cl.show(f.getPright(), "register"); } if(s.equals("修改学生信息")){ cl.show(f.getPright(), "modify"); } if(s.equals("查询学生信息")){ cl.show(f.getPright(), "search"); } if(s.equals("删除学生信息")){ cl.show(f.getPright(), "delete"); } if(s.equals("学生信息管理")){ cl.show(f.getPright(), "welcom"); } }
@Override public void mouseEntered(MouseEvent e) {
8
沈阳理工大学课程设计
} } @Override public void mouseExited(MouseEvent e) { // TODO Auto-generated method stub } @Override public void mousePressed(MouseEvent e) { // TODO Auto-generated method stub } @Override public void mouseReleased(MouseEvent e) { // TODO Auto-generated method stub } // TODO Auto-generated method stub LoginListener.java:登陆监听
package manager.ui.listener;
import java.awt.event.ActionEvent; import java.awt.event.ActionListener;
import javax.swing.JButton; import javax.swing.JOptionPane;
import manager.ui.conponent.Login; import manager.ui.conponent.MainFrame;
public class LoginListener implements ActionListener {
@Override public void actionPerformed(ActionEvent e) {
JButton bt=(JButton) e.getSource();
Login frame=(Login) bt.getParent().getParent().getParent().getParent();
String username=frame.usernameTa.getText().trim();
String password=frame.passwordTa.getText().trim();
if(username!=null||password!=null){
if("admin".equals(username)&&"123".equals(password)){
new MainFrame().setVisible(true);
frame.dispose();
}
else{
frame.messageLb.setText("用户名或密码错误");
}
}
9
沈阳理工大学课程设计
else{
frame.messageLb.setText("用户名或密码错误");
} } } ResetListener.java:重置监听 package manager.ui.listener;
import java.awt.event.ActionEvent; import java.awt.event.ActionListener;
import javax.swing.JButton;
import manager.ui.conponent.RegPanel;
public class ResetListener implements ActionListener {
@Override public void actionPerformed(ActionEvent e) { JButton jb=(JButton) e.getSource(); RegPanel jp=(RegPanel) jb.getParent(); jp.xuehaoFd.setText(""); jp.nameFd.setText(""); jp.addressFd.setText(""); } } SaveListener.java:保存监听 package manager.ui.listener;
import java.awt.event.ActionEvent; import java.awt.event.ActionListener;
import javax.swing.JButton;
import manager.dao.JdbcIcpCURD; import manager.domain.Student; import manager.ui.conponent.ModifyPanel;
public class SaveListener implements ActionListener {
@Override public void actionPerformed(ActionEvent e) {
JButton jb=(JButton) e.getSource();
ModifyPanel mp=(ModifyPanel) jb.getParent();
String xuehao=mp.xuehaoTf.getText().trim();
String name=mp.nameTf.getText().trim();
String gender=mp.genderTf.getText().trim();
String address=mp.addressTf.getText().trim();
String oldXuehao=mp.xuehaoFd.getText().trim();
if(oldXuehao==null||xuehao.equals("")){
10
沈阳理工大学课程设计
}
} oldXuehao=xuehao; } if(xuehao==null||xuehao.equals("")){ mp.errorLb.setText("请输入修改后的学号..."); return; } if(name==null||name.equals("")){ mp.errorLb.setText("请输入修改后的姓名..."); return; } if(gender==null||gender.equals("")){ mp.errorLb.setText("请输入修改后的性别..."); return; } if(address==null||address.equals("")){ mp.errorLb.setText("请输入修改后的地址..."); return; } Student stu=new Student(); stu.setXuehao(Integer.parseInt(xuehao)); stu.setName(name); stu.setGender(gender); stu.setAddress(address); int old=Integer.parseInt(oldXuehao); JdbcIcpCURD curd=new JdbcIcpCURD(); if(curd.modify(stu, old)){ mp.errorLb.setText("修改成功..."); }
SearchAllListener.java:搜索所有学生信息 package manager.ui.listener;
import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Vector;
import javax.swing.JButton; import javax.swing.JTextArea;
import manager.dao.JdbcIcpCURD; import manager.domain.Student; import manager.ui.conponent.SearchPanel;
public class SearchAllListener implements ActionListener {
@Override public void actionPerformed(ActionEvent e) {
JButton jb=(JButton) e.getSource();
SearchPanel sp=(SearchPanel) jb.getParent();
11
沈阳理工大学课程设计
}
} JTextArea jt=sp.resultTa; JdbcIcpCURD curd=new JdbcIcpCURD(); Vector students=curd.getAllStudent(); StringBuilder sb=new StringBuilder(); for(Student s:students){ sb.append(" "); sb.append(s.getXuehao()); sb.append(" "); sb.append(s.getName()); sb.append(" "); sb.append(s.getGender()); sb.append(" "); sb.append(s.getAddress()); sb.append(" "); sb.append(s.getRegTime().toString()); sb.append(" "); } jt.setText(sb.toString()); SearchDListener.java:搜索一个学生信息 package manager.ui.listener;
import java.awt.event.ActionEvent; import java.awt.event.ActionListener;
import javax.swing.JButton;
import manager.dao.JdbcIcpCURD; import manager.domain.Student; import manager.ui.conponent.DeletePanel; import manager.ui.conponent.ModifyPanel; import manager.ui.conponent.SearchPanel;
public class SearchDListener implements ActionListener {
@Override public void actionPerformed(ActionEvent e) {
JButton jb=(JButton) e.getSource();
DeletePanel dp=(DeletePanel) jb.getParent();
JdbcIcpCURD curd=new JdbcIcpCURD();
String s=dp.xuehaoFd.getText().trim();
Student stu=curd.searchByXuehao(Integer.parseInt(s));
if(stu==null){
dp.errorLb.setText("没有查询到此学生");
return;
}
dp.xuehaoTf.setText(new Integer(stu.getXuehao()).toString());
dp.nameTf.setText(stu.getName());
dp.genderTf.setText(stu.getGender());
dp.addressTf.setText(stu.getAddress());
12
沈阳理工大学课程设计
} } SearchListener.java:搜索一个学生信息 package manager.ui.listener;
import java.awt.event.ActionEvent; import java.awt.event.ActionListener;
import javax.swing.JButton;
import manager.dao.JdbcIcpCURD; import manager.domain.Student; import manager.ui.conponent.ModifyPanel;
public class SearchListener implements ActionListener {
@Override public void actionPerformed(ActionEvent e) {
JButton jb=(JButton) e.getSource();
ModifyPanel mp=(ModifyPanel) jb.getParent();
String s=mp.xuehaoFd.getText().trim();
if(s==null||s.equals("")){
mp.errorLb.setText("请输入学号..");
return;
}
JdbcIcpCURD curd=new JdbcIcpCURD();
Student stu=curd.searchByXuehao(Integer.parseInt(s));
mp.xuehaoTf.setText(new Integer(stu.getXuehao()).toString());
mp.nameTf.setText(stu.getName());
mp.genderTf.setText(stu.getGender());
mp.addressTf.setText(stu.getAddress()); } } SearchRListener.java:搜索一个学生信息 package manager.ui.listener;
import java.awt.event.ActionEvent; import java.awt.event.ActionListener;
import javax.swing.JButton;
import manager.dao.JdbcIcpCURD; import manager.domain.Student; import manager.ui.conponent.ModifyPanel; import manager.ui.conponent.SearchPanel;
public class SearchRListener implements ActionListener {
@Override public void actionPerformed(ActionEvent e) {
13
沈阳理工大学课程设计
}
} JButton jb=(JButton) e.getSource(); SearchPanel sp=(SearchPanel) jb.getParent(); JdbcIcpCURD curd=new JdbcIcpCURD(); String s=sp.xuehaoTf.getText().trim(); Student stu=curd.searchByXuehao(Integer.parseInt(s)); if(stu==null){ return; } StringBuilder sb=new StringBuilder(); sb.append(" "); sb.append(stu.getXuehao()); sb.append(" "); sb.append(stu.getName()); sb.append(" "); sb.append(stu.getGender()); sb.append(" "); sb.append(stu.getAddress()); sb.append(" "); sb.append(stu.getRegTime().toString()); sb.append(" "); sp.resultTa.setText(sb.toString());
SubmitListener.java:提交信息监听 package manager.ui.listener;
import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Date;
import javax.swing.JButton; import javax.swing.JLabel;
import manager.dao.JdbcIcpCURD; import manager.domain.Student; import manager.ui.conponent.RegPanel;
public class SubmitListener implements ActionListener {
@Override public void actionPerformed(ActionEvent e) { JButton jb=(JButton) e.getSource(); RegPanel jp=(RegPanel) jb.getParent(); String xuehao=jp.xuehaoFd.getText(); String name=jp.nameFd.getText(); String address=jp.addressFd.getText(); String gender=""; boolean b1=jp.maleRB.isSelected(); boolean b2=jp.femaleRB.isSelected();
14
沈阳理工大学课程设计
if(b1){ } JLabel errorLabel=jp.errorLabel; if(xuehao==null||xuehao.trim().equals("")){ errorLabel.setText("没有填写学号.."); return; } if(name==null||name.trim().equals("")){ errorLabel.setText("没有填写姓名.."); return; } if(address==null|address.trim().equals("")){ errorLabel.setText("没有填写地址.."); return; } if(!(b1||b2)){ errorLabel.setText("请选择性别..."); return; } if(b1){ gender="男"; } if(b2){ gender="女"; } Student stu=new Student(Integer.parseInt(xuehao),name,gender,new Date(System.currentTimeMillis()),address); JdbcIcpCURD curd=new JdbcIcpCURD(); boolean b=curd.insert(stu); if(b){ errorLabel.setText("注册成功!!"); jp.xuehaoFd.setText(""); jp.nameFd.setText(""); jp.addressFd.setText(""); } } }
五、心得体会
我们刚学习java这门课程,对专业的java编程知识并未有深入的学习和探索。但是当我们查找过一些书籍资料后,在不断努力下我们还是把课程设计题目顺利的完成了。通过此次学生学籍管理系统的设计,使我们对java编程语言有了更深层次的了解。不过在编写的过程中也存在一些问题,例如在选择适宜的方法实现修改和删除功能的时候,由于对
15
沈阳理工大学课程设计
数组的理解还不能满足当前的编程需要,并未选择更加简单的数组来处理数据,以至于当删除指定内容后在文本文件中留有空行,从而导致了在接下来的查询异常和再次修改和删除功能无法正常实现,还需人工删除掉文本文件中的空行以保证程序的正常运行。我们也可以选用其他的更加方便的处理方法使得程序更加优化和简洁。
“书山有路勤为径,学海无涯苦作舟”,我们现今所学的知识还远远不够,在今后的学习过程中我们要进一步学习java的更多的知识,此次课程设计不仅锻炼了我们独立思考和团队合作的能力,而且提高了我们动手的能力,我会继续努力学习此课程的。
六、参考文献
1 郑阿奇 编著《Java实用教程(第二版)》电子工业出版社 2 良葛格 编著《Java学习笔记》清华大学出版
16