《Java程序设计》终极不改版【下】

139 阅读4分钟

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. 系统实现(包括系统运行界面等)

开始动画:

Q9$O$IR16Q4UIN38V14N[{I

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

捕获1

主界面各种功能:

捕获2

 ​

学生搜索:

捕获3

 ​

录入学生:

捕获4 ​ ​ ​

 ​

 ​

删除学生:

 ​

捕获5

 ​

 ​

学生概览:

捕获6

 ​

 ​

修改密码:

捕获7

 ​

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 年