《Java程序设计》终极不改版【下】
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程序设计》终极不改版【下】的更多相关文章
- 20172306 2018-2019 《Java程序设计与数据结构》第一周学习总结
20172306 2018-2019 <Java程序设计与数据结构(下)>第一周学习总结 教材学习内容总结 第一章 概述 (程序=数据结构+算法 软件=程序+软件工程) 1.1 软件质量 ...
- 《Java程序设计》终极不改版
半年前的作品,上传只为纪念~ 成绩: ____0.1______ Java程序设计 课程设计 题 目:大学生信息管理系统 学 院: 计算机与软件学院 专 业: 网络工程_____ . ...
- 20175221 《Java程序设计》迭代和JDB(课下作业,选做):
20175221 <Java程序设计> 迭代和JDB(课下作业,选做): 任务详情 1 使用C(n,m)=C(n-1,m-1)+C(n-1,m)公式进行递归编程实现求组合数C(m,n)的功 ...
- 20175312 2018-2019-2 《Java程序设计》第6周课下选做——类定义
20175312 2018-2019-2 <Java程序设计>第6周课下选做--类定义 设计思路 1.我觉得Book其实就是一个中转的作用,由测试类Bookself通过Book输入数据,然 ...
- 《Java程序设计》第2周学习总结(Markdown语法修改版)
20175105 2018-2019-2 <Java程序设计>第2周学习总结 Vim操作的一些总结 这些天通过学习,对于vim的操作有了很大的提升,下面我把vim的比较常见的操作方式做了归 ...
- 115个Java面试题和答案——终极列表(下)
第一篇讨论了面向对象编程和它的特点,关于Java和它的功能的常见问题,Java的集合类,垃圾收集器,本章主要讨论异常处理,Java小应用程序,Swing,JDBC,远程方法调用(RMI),Servle ...
- 115个Java面试题和答案——终极列表(下)【转】
第一篇讨论了面向对象编程和它的特点,关于Java和它的功能的常见问题,Java的集合类,垃圾收集器,本章主要讨论异常处理,Java小应用程序,Swing,JDBC,远程方法调用(RMI),Servle ...
- [转]115个Java面试题和答案——终极列表(下)
第一篇讨论了面向对象编程和它的特点,关于Java和它的功能的常见问题,Java的集合类,垃圾收集器,本章主要讨论异常处理,Java小应用程序,Swing,JDBC,远程方法调用(RMI),Servle ...
- 2016-2017-2 《Java程序设计》教学进程
2016-2017-2 <Java程序设计>教学进程 目录 考核方式 课前准备 教学进程 第00周学习任务和要求 第01周学习任务和要求 第02周学习任务和要求 第03周学习任务和要求 第 ...
随机推荐
- MongoDB3.4安装配置以及与Robomongo1.1的连接——解决Authentication Failed导致的不能连接问题
本文环境:win10(64)+MongoDB(3.4.5)+Robomongo(1.1) 目录: MongoDB的安装 MongoDB的配置 Robomongo的安装以及与MongoDB的连接 一些新 ...
- ssh自学笔记
Ssh自学笔记 Ssh简介 传统的网络服务程序,如:ftp.pop和telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据.而且,这些服务 ...
- 【NO.12-2】jmeter-执行脚本
//拿jmeter举例 //要进入到jmeter工具的bin目录 //当使用其它的开源测试工具的时候,也可以参考上面这一点,即:进入到bin目录 //如果工具本身不包含bin文件,那么在工具的1级目录 ...
- python---scrapy之MySQL同步存储
假设我们已经能获取到item里定义的字段的数据,接下来就需要保存item的数据到mysql数据库. pipeline用来存储item中的数据,将爬取到的数据进行二次处理 首先,要做的准备的工作,安装M ...
- 第一天的php体验
第一次了解php.以前对于程序猿的认知是很片面的.因为没有了解过.今天通过一天的了解交流,有了新的认知.对于这个主要应用于前端的语言还是很有兴趣的.毕竟可以亲眼看到自己做出来的网页,心里的成就感肯定满 ...
- java核心技术之流与文件
InputStream和OutputStream构成了输入/输出类层次结构的基础.用于按字节进行读写.而与之处在同一等级的Reader/Writer同样作为抽象类定义了用于对字符进行读取的类层次结构, ...
- Linux桌面环境GNOME实用技巧
GNOME是Linux桌面上主流的集成桌面环境之一,GNOME桌面以其风格简洁.操作便捷而受到Linux用户的欢迎.这里将介绍Linux桌面环境GNOME的操作技巧,在这里拿出来和大家分享一下. 下面 ...
- js把星期由数字转换为星期名称
//由星期的数字转换为星期的名称,date格式:2016-01-07,用"-"分割 function toWeekName(date) { var newDate = new Da ...
- C#学习——简介(第一天)
一.控制台输出 在控制台输出: console.writeline(); console.readkey(); 加上后面一句是为了保证弹窗不会一闪而过. 二.注释 1.单行注释: //int a=90 ...
- flannel 的连通与隔离 - 每天5分钟玩转 Docker 容器技术(61)
上一节我们在 flannel 网络中部署了容器,本节讨论 flannel 的连通和隔离特性. flannel 网络连通性 测试 bbox1 和 bbxo2 的连通性: bbox1 能够 ping 到位 ...