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. 简陋的 ASP.NET CORE 单页Web应用程序“框架”

    我对ASP.NET CORE了解不多,不知道是不是重复造轮子,也或者什么也不是,这个Demo是这样的: 1.非常简单或者说原始:2.将单页Web应用增加了一个页(Page)概念(相当于MVC的 Vie ...

  2. httpd页面用户访问认证控制

    [root@liubin-pc ~]# yum install -y httpd 客户机地址限制 通过配置Order.Deny from.Allow from 来限制客户机 allow.deny :先 ...

  3. swift3.0 顶部状态栏隐藏

    横屏进入手机状态栏是隐藏的,但是调用了相册选去图片后顶部状态栏又显示了出来,网上查阅按照以下方式: override var prefersStatusBarHidden: Bool{ return ...

  4. 移动端https抓包那些事--进阶篇

    上一次和大家介绍了手机端https抓包的初级篇,即在手机未root或者未越狱的情况下如何抓取https流量,但是当时分析应用时会发现,好多应用的https的流量还是无法抓取到,这是为什么呢? 主要原因 ...

  5. 2016 "Bird Cup" ICPC7th@ahstu--“波导杯”安徽科技学院第七届程序设计大赛

    "波导杯"安徽科技学院第七届程序设计大赛 原文章网页 Contest - 2016 "Bird Cup" ICPC7th@ahstu Start time:   ...

  6. [Usaco2015 Jan]Grass Cownoisseur Tarjan缩点+SPFA

    考试的时候忘了缩点,人为dfs模拟缩点,没想到竟然跑了30分,RB爆发... 边是可以重复走的,所以在同一个强连通分量里,无论从那个点进入从哪个点出,所有的点一定能被一条路走到. 要使用缩点. 然后我 ...

  7. 让你快速了解并掌握如何进行iOS开发技能

    首先你要花点时间针对objective-c语言的学习:毕竟这个是iOS开发的基础(你也可以尝试用Swift,但此项目只是针对OC),编程套路其实都是差不多,多写多想多实践:关于环境的搭建就不在本文进行 ...

  8. SpringMVC详解(一)------入门实例

    本系列教程我们将详细的对SpringMVC进行介绍,相信你在学完本系列教程后,一定能在实际开发中运用自如. 1.什么是 SpringMVC ? 在介绍什么是 SpringMVC 之前,我们先看看 Sp ...

  9. Qt支持中文显示

    Qt支持中文显示<1>.在代码中添加以下代码 QTextCodec* codec = QTextCodec::codecForLocale(); if (codec != NULL) { ...

  10. SpringMVC中文件的上传(上传到服务器)和下载问题(二)--------下载

    一.建立一个简单的jsp页面. 我们在建好的jsp的页面中加入一个超链接:<a href="${pageContext.request.contextPath}/download&qu ...