package 大学生信息管理系统;

import java.awt.event.*;

import javax.swing.*;

import java.awt.*;

import java.util.*;

import java.sql.*;

class StudentInfomationBrower   
implements 
ActionListener

{

JFrame f;

Container cp;

JPanel jpS,jpanelWest;

JButton 
jbt1,jbt2;//按钮,查询、取消、修改

JLabel label,L;                 
//标签

JTable table;//用来接收数据库中返回的信息

Object columnName[]={"学生名","学号","Java","数据结构","概率统计","入学时间"};

Object ar[][] =new Object[80][6];

String sno;

StudentInfomationBrower()

{

f=new JFrame();

cp=f.getContentPane(); // 初始化面板、按钮、标签、文本框

jpS=new JPanel();

jpanelWest=new JPanel();

jbt1=new JButton("确定");

jbt2=new JButton("返回");

label=new JLabel("学生情况概览",SwingConstants.CENTER);

label.setForeground(Color.blue);

table=new JTable(ar,columnName);//ar存放表中的数据,columnname表示列名

JScrollPane scrollpane = new JScrollPane(table);

jpS.add(jbt1);

jpS.add(jbt2);

JPanel jpanel=new JPanel();

jpanel.add(label);

JPanel pp4=new JPanel();

JPanel jpE=new JPanel();

cp.add(jpanel,"North");

JPanel jp=new JPanel();

JPanel p=new JPanel();//用来放两个表

p.setLayout(new BorderLayout());

p.add(scrollpane);

cp.add(pp4,"West");

cp.add(p,"Center");

cp.add(jpS,"South");

cp.add(jpE,"East");

Dimension
screen=Toolkit.getDefaultToolkit().getScreenSize();

f.setSize(400,330);

f.setLocation((screen.width-350)/2,(screen.height-350)/2);

f.setVisible(true);

jbt1.addActionListener(this);//注册监听器

jbt2.addActionListener(this);

}

int i=0;

public void showRecord()

{

while(i>=0)

{

ar[i][0]="";

ar[i][1]="";

ar[i][2]="";

ar[i][3]="";

ar[i][4]="";

ar[i][5]="";

i--;

}

i=0;

try{

Class.forName("com.hxtt.sql.access.AccessDriver");

}catch(ClassNotFoundException
e){System.out.println("加载驱动程序失败!");}

try{

Connection con =
DriverManager.getConnection("jdbc:Access:/D:/Student.mdb");

String
s="select * from 表book ";

Statement sql=con.createStatement();

ResultSet
rs=sql.executeQuery(s);

while(rs.next())

{

String sname=rs.getString(1);

String sno=rs.getString(2);

String ;

String DataStructure=rs.getString(4);

String Data=rs.getString(5);

String time=rs.getString(6);

ar[i][0]=sname;

ar[i][1]=sno;

ar[i][2]=java;

ar[i][3]=DataStructure;

ar[i][4]=Data;

ar[i][5]=time;

i++;

}

f.repaint();

con.close();

}catch(SQLException g)

{

System.out.println("E
Code"+g.getErrorCode());

System.out.println("E
M"+g.getMessage());

}

}

public void
actionPerformed(ActionEvent e)

{

String
cmd=e.getActionCommand();

if(cmd.equals("确定"))

{

f.dispose();

}

if(cmd.equals("返回"))

f.dispose();

}

public static void main(String
[]arg){

StudentInfomationBrower a=new StudentInfomationBrower();

a.showRecord();

}

}

package 大学生信息管理系统;

import java.net.*;

import java.sql.*;

import java.awt.*;

import java.awt.event.*;

import java.io.*;

import java.util.*;

import javax.swing.*;

class UpdatePassword extends JFrame
implements ActionListener

{

JFrame f;

Container cp;

JPanel jp1,jp2,jp3,jp4,jp,jpanelWest;

JButton 
jbt1,jbt2;//按钮,确定、取消

JLabel label;              
//标签:修改密码

JTextField name;

JPasswordField tf1,tf2,tf3;   
//定义文本框

JLabel label1,label2,label3,label4;

String sno;

UpdatePassword(){}

UpdatePassword(String username)

{

sno=username;

f=new JFrame();

cp=f.getContentPane(); // 初始化

jp1=new JPanel();

jp2=new JPanel();

jp3=new JPanel();

jp4=new JPanel();

jpanelWest=new JPanel();

jp=new JPanel();

jbt1=new JButton("确定");

jbt2=new JButton("取消");

label=new JLabel("修改密码",SwingConstants.CENTER);

label.setForeground(Color.blue);

label.setFont(new Font("BOLD",Font.BOLD,15));

name=new JTextField(20);

tf1=new JPasswordField(20);

tf2=new JPasswordField(20);

tf3=new JPasswordField(20);

jp1.add(jbt1);

jp1.add(jbt2);

jp1.add(new JLabel("您好"+"xx"+"欢迎登陆学生信息系统"));

JPanel jpanel=new JPanel();

jpanel.add(label);

JPanel pp4=new JPanel();

JPanel jpane4=new JPanel();

cp.add(jpanel,"North");

JPanel pp2=new JPanel(new GridLayout(6,1));

JPanel pp3=new JPanel();

pp4.setLayout(new GridLayout(6,1));

pp4.add(new JLabel("用户名: ",SwingConstants.RIGHT));

pp2.add(name);

pp4.add(new JLabel("原密码: ",SwingConstants.RIGHT));

pp2.add(tf1);

pp4.add(new JLabel(" 新密码: ",SwingConstants.RIGHT));

pp2.add(tf2);

pp4.add(new JLabel("确认密码: ",SwingConstants.RIGHT));

pp2.add(tf3);

pp2.add(new JLabel());

JPanel jpbutton=new JPanel();

jpbutton.add(jbt1);

jpbutton.add(jbt2);

pp2.add(jpbutton);

cp.add(pp4,"West");

cp.add(pp2,"Center");

cp.add(jpane4,"East");

Dimension
screen=Toolkit.getDefaultToolkit().getScreenSize();

f.setSize(350,330);

f.setLocation((screen.width-350)/2,(screen.height-330)/2);

f.setTitle("修改密码");

f.setVisible(true);

jbt1.addActionListener(this);//注册监听器

jbt2.addActionListener(this);

}

public void updateM()

{

try{

Class.forName("com.hxtt.sql.access.AccessDriver");

}catch(ClassNotFoundException
e){System.out.println("加载驱动程序失败!");}

try{

Connection con =
DriverManager.getConnection("jdbc:Access:/D:/Student.mdb");

Statement sql=con.createStatement();

String uname=name.getText().trim();

String queryMima="select * from 表user where 用户名='"+uname+"'";

ResultSet rs=sql.executeQuery(queryMima);

if(rs.next())

{

String newMima=tf2.getText().trim();

String s="update 表user set 密码='"+newMima+"' where 用户名 ='"+uname +"'";

sql=con.createStatement();

int updateMima=sql.executeUpdate(s);

if(updateMima==1)

{

JOptionPane.showMessageDialog(f,"密码修改成功!");

}

con.close();

f.repaint();

}else{

JOptionPane.showMessageDialog(null,"该用户不存在","警告!",

JOptionPane.YES_NO_OPTION);

}

name.setText("");

tf1.setText("");

tf2.setText("");

tf3.setText("");

}
catch(SQLException g)

{

System.out.println("E Code"+g.getErrorCode());

System.out.println("E M"+g.getMessage());

}

}

public void actionPerformed(ActionEvent e)

{

String cmd=e.getActionCommand();

if(cmd.equals("确定"))

{

if(name.getText().equals("")||tf1.getText().equals("")||tf2.getText().equals("")||tf3.getText().equals(""))

{

JOptionPane.showMessageDialog(null,"请填写用户的所有信息","提示",

JOptionPane.YES_NO_OPTION);

return;

}

if(tf2.getText().trim().equals(tf3.getText().trim()))

updateM();

}

else if(cmd.equals("取消"))

f.hide();

}

public static void main(String[]args)

{

new
UpdatePassword("");

}

}

5.系统实现(包括系统运行界面等)

开始动画:

登录界面,输入用户名,用户密码:

主界面各种功能:

学生搜索:

录入学生:

删除学生:

 

学生概览:

修改密码:

5.总结

通过这次
Java课程设计,我们感觉大体上良好。碰到的问题还是比较多的,比如资料的寻找,代码的修改、完善,界面的一步步优化等。遇到问题就要解决问题,几个一起上网查阅资料,询问大神解答,由此一来,一步步将这次Java课程完成。Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程

参考文献

[1]陈国军.Java程序设计基础(第5版)[M].北京:清华大学出版社,2006年


  [2]毕广吉.Java程序设计实例教程[M]. 北京:冶金工业出版社,2007年

  [3].王保罗.Java面向对象程序设计[M].北京:清华大学出版社,2003年

  [4].林邦杰,彻底研究java.北京:电子工业出版社,2006年

  [5] (美)阿诺德,Ken Arnold,等. Java程序设计语言[M]. 北京:人民邮电出版社,2006年

[6]
耿祥义,张跃平.
JAVA实用教程[M].清华大学出版社,2005年

《Java程序设计》终极不改版【下】的更多相关文章

  1. 20172306 2018-2019 《Java程序设计与数据结构》第一周学习总结

    20172306 2018-2019 <Java程序设计与数据结构(下)>第一周学习总结 教材学习内容总结 第一章 概述 (程序=数据结构+算法 软件=程序+软件工程) 1.1 软件质量 ...

  2. 《Java程序设计》终极不改版

     半年前的作品,上传只为纪念~ 成绩: ____0.1______ Java程序设计  课程设计 题 目:大学生信息管理系统 学 院:  计算机与软件学院 专 业:     网络工程_____­ .  ...

  3. 20175221 《Java程序设计》迭代和JDB(课下作业,选做):

    20175221 <Java程序设计> 迭代和JDB(课下作业,选做): 任务详情 1 使用C(n,m)=C(n-1,m-1)+C(n-1,m)公式进行递归编程实现求组合数C(m,n)的功 ...

  4. 20175312 2018-2019-2 《Java程序设计》第6周课下选做——类定义

    20175312 2018-2019-2 <Java程序设计>第6周课下选做--类定义 设计思路 1.我觉得Book其实就是一个中转的作用,由测试类Bookself通过Book输入数据,然 ...

  5. 《Java程序设计》第2周学习总结(Markdown语法修改版)

    20175105 2018-2019-2 <Java程序设计>第2周学习总结 Vim操作的一些总结 这些天通过学习,对于vim的操作有了很大的提升,下面我把vim的比较常见的操作方式做了归 ...

  6. 115个Java面试题和答案——终极列表(下)

    第一篇讨论了面向对象编程和它的特点,关于Java和它的功能的常见问题,Java的集合类,垃圾收集器,本章主要讨论异常处理,Java小应用程序,Swing,JDBC,远程方法调用(RMI),Servle ...

  7. 115个Java面试题和答案——终极列表(下)【转】

    第一篇讨论了面向对象编程和它的特点,关于Java和它的功能的常见问题,Java的集合类,垃圾收集器,本章主要讨论异常处理,Java小应用程序,Swing,JDBC,远程方法调用(RMI),Servle ...

  8. [转]115个Java面试题和答案——终极列表(下)

    第一篇讨论了面向对象编程和它的特点,关于Java和它的功能的常见问题,Java的集合类,垃圾收集器,本章主要讨论异常处理,Java小应用程序,Swing,JDBC,远程方法调用(RMI),Servle ...

  9. 2016-2017-2 《Java程序设计》教学进程

    2016-2017-2 <Java程序设计>教学进程 目录 考核方式 课前准备 教学进程 第00周学习任务和要求 第01周学习任务和要求 第02周学习任务和要求 第03周学习任务和要求 第 ...

随机推荐

  1. Spring 实现自定义 bean 的扩展

    Spring mvc 提供了扩展 xml 的机制,用来编写自定义的 xml bean ,例如 dubbo 框架,就利用这个机制实现了好多的 dubbo bean,比如 <dubbo:applic ...

  2. gitbook初体验

    前言 在早些天看sec-wiki的时候,看到有同学做了一个ctf-wiki来介绍CTF,让CTF新手能够快速入门,做成了电子书的样子,放在github上面.页面精美.简洁,让人爱不惜手. 想着自己也能 ...

  3. alter system [switch logfile]与[archive log current]的区别

    --alter system [switch logfile]与[archive log current]的区别 ------------------------------------------- ...

  4. db2 表关联查询

    今天在MapReduce的练习中看到了一个题目: file: CHILD PARENT ---------- ---------- tom lucy tom jack jone lucy jone j ...

  5. c# 数组简述

    数组的声明与赋值:int[] a=new int[6]; 数组初始化器:int[] a=new int[2]{1,3}; 数组初始化器简化版:int[] a={1,3}; 数组初始值: 数字类型: 0 ...

  6. Qt日常备注(函数/接口实现)

    1.判断QString是否为纯数字 2.查找自身最长重复子字符串 3.树形列表复选框操作 4.更改文件权限 5.判断系统64位 6.文件生成md5值 7.版本号比较(字符串比较) //-----实现- ...

  7. c和fortran混编(基于GNU/Linux,转自 linzch)

    网 上说要分c为主程序和fortran为主程序两种情况讨论,其实我觉得不用,只要你了解生成可执行文件的机制.这个机制就是:不论是单一语言模块之间的 链接还是不同语言之间的混合链接,本质目的都是要链接器 ...

  8. Tab选框

    <html>代码 基本架构:一个大的div下面2个ul,ul下面各三个li <div class="big"> <ul class="con ...

  9. css3文字与字体样式

    css3使用服务器端字体: <!DOCTYPE html> <html lang="en"> <head> <meta charset=& ...

  10. 程序员的自我修养五Windows PE/COFF

    5.1 Windows的二进制文件格式PE/COFF PE文件格式事实上与ELF同根同源,它们都是由COFF格式发展而来. 5.2 PE前身——COFF 在win下,Command Prompt fo ...