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. ubuntu下统计目录及其子目录文件个数

    查看某目录下文件的个数 ls -l |grep "^-"|wc -l 或 find ./company -type f | wc -l 查看某目录下文件的个数,包括子目录里的. l ...

  2. 開源sources

    學了c++已經快有半年光景,感覺在停留在syntax上已經不能感到有所滿足.一下是一些開源資料,難度極高,姑且當作是個人的一個小小wishing list,當作to-do list 般去執行吧. ht ...

  3. JSR-303 Bean Validation 介绍及 Spring MVC 服务端参数验证最佳实践

    任何时候,当要处理一个应用程序的业务逻辑,数据校验是你必须要考虑和面对的事情. 应用程序必须通过某种手段来确保输入参数在上下文来说是正确的. 分层的应用很多时候同样的数据验证逻辑会出现在不同的层,这样 ...

  4. HDU 6153 拓展KMP (2017CCPC)

    A Secret Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 256000/256000 K (Java/Others)Total ...

  5. C#多线程的用法3-线程间的协作Join

    在创建多线程应用程序时,如何确保线程间的协作往往比让线程工作更重要. 线程间的协作最简单的方式是采用Join来进行,如下: /// <summary> /// 多线程协作-Join方式 / ...

  6. ExoPlayer Talk 01 缓存策略分析与优化

    操作系统:Windows8.1 显卡:Nivida GTX965M 开发工具:Android studio 2.3.3 | ExoPlayer r2.5.1 使用 ExoPlayer已经有一段时间了, ...

  7. easyui问题小结(转)

    问题一:如何将easyui的west面板上的收缩箭头隐藏? 如图效果: 做法: <div data-options="region:'west'" style="w ...

  8. spring boot 登录注册 demo (三) -- 前后端传递

    前端页面通过thymeleaf渲染 <dependency> <groupId>org.springframework.boot</groupId> <art ...

  9. 电脑重装系统按什么键进U盘PE

    电脑重装系统按什么键进U盘PE... -------------------------- 各品牌电脑重装系统快捷按键进U盘PE: -------------------------- Dell电脑重 ...

  10. JTAG基础知识

    前言 本知识翻译收集来自http://www.fpga4fun.com,版权归原网站所有. 1.什么是JTAG:Joint Test Action Group:联合测试工作组 JTAG是一种IEEE标 ...