ImageVerifierCode 换一换
格式:DOCX , 页数:46 ,大小:167.91KB ,
资源ID:2009340      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-2009340.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Java学生信息管理系统Swing窗体.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

Java学生信息管理系统Swing窗体.docx

1、Java学生信息管理系统Swing窗体实验名称:实验5:综合性程序设计简单学生信息管理系统班级:* 姓名:Zzz 学号:20151601*一、实验目的二、实验内容与结果 (1)任务描述(1.3与1.4二选一,建议选择1.4)利用课程所学知识,设计并实现一个简单学生信息管理系统,要求如下: 1.1 声明Student类,该类实现Serializable接口以表明该类可以进行序列化。该类有姓名、学号(long),math、os、java用来存放对应的成绩,在构造方法中进行姓名、学号、课程成绩的赋值。Override由Object继承来的toString方法以便以友好格式显示自己的属性,格式为:张三

2、 12 os:90 java:90 math: 90。 1.2 建立一个类,利用数据库来存储多个Student,写完一个方法在main中写一段测试代码,运行以保证目前所做工作的正确性。有以下方法: add(Student stu):可以增加新的学生,并保存在数据库中。 update(Student stu):可以修改特定的学生,并保存在数据库中。 dispAll():可以显示所有的学生信息。 findById(long id):可以按照学号来查找,并显示符合条件的学生信息,查无该人的话显示错误信息。 findByName(String name):可以按照姓名查找学生,找到后显示其信息,查无此

3、人显示错误信息。 delById(long id):可以按照id删除学生的信息,然后显示找到该人。若查无此人,显示相应的错误信息。 1.3 (控制台方式)完善应用程序,实现相应的功能如下:添加学生信息、修改指定学号的学生信息、显示所有学生信息、按学号查找、按姓名查找、按学号删除、按成绩排序和退出。 1.4 (Swing窗体方式)完善应用程序,实现相应的功能如下:添加学生信息、修改指定学号的学生信息、显示所有学生信息、按学号查找、按姓名查找、按学号删除、按成绩排序和退出。(2)处理思路及关键技术说明(3)程序完整源码(要求格式规范,适当注释)(4)运行结果截图(按每个操作分别截图)(2)处理思路

4、及关键技术说明分三个模块:一是 jdbc的代码,另一个是 Swing和AWT的代码,剩下是Student类。 Jdbc 一共有两个类:DBUtil(连接工具类)和Sql类(处理jdbc功能的静态方法) Swing 和AWT一个有两个类:MyJFrame构建总窗口,MyJPanel 对窗口内的面板行修饰。然后就是Student类和Main主方法类。关键部分:1)在主窗体中add三个Jpanel,底层和第二层左右三个,右边的Jpanel实现cardLayout布局,左边的Jpanel添加按钮并添加ActionListener来实现对象的card切换达到不同按钮进入不同功能面板的目的。2)在MyJP

5、anel类中,所有的init方法均传递参数JPanel p,对传递过来的Panel进行加工修饰,并且调用Sql里面对应功能的方法。3)Sql中的显示全部信息的方法中使用了ArrayList来存储从studenttbl中读取的对象信息,存储之后为了按照String的方式显示在JtextArea中,又用了listToString方法,通过for循环并追加回车,使每个对象都转化为String并在后面加上了回车(separator),4)在Sql中的查找,删除,添加都使用了jdbc中的预处理PreparedStatement在操作完毕后执行sts.executeUpdate();5)在Sql排序方法中

6、,把所有的信息都存储到list中以后,调用工具类Collections.sort:根据指定比较器产生的顺序对指定列表进行排序。(3)程序完整源码(要求格式规范,适当注释)class DBUtilpackage test;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class DBUtil private static String driver; private static String url; private static String usern

7、ame; private static String password; static driver=com.mysql.jdbc.Driver; url=jdbc:mysql:/localhost:3306/mydb; username=root; password=123456; public static Connection open() try Class.forName(driver); return DriverManager.getConnection(url,username,password); catch (Exception e) e.printStackTrace()

8、; return null; public static void close(Connection conn) if(conn!=null) try conn.close(); catch (SQLException e) e.printStackTrace(); class Sqlpackage test;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;im

9、port java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JTextArea;public class Sql public static String listToString(List list, char separator) /使list返回String类型并加入控制符(换行) Strin

10、gBuilder sb = new StringBuilder(); for (int i = 0; i list.size(); i+) sb.append(list.get(i).append(separator); return sb.toString().substring(0,sb.toString().length()-1); public static List disAll() /打印显示所有信息 /查询 Connection conn=DBUtil.open(); String sql=select id,name,frctionJava,fractionMath,fract

11、ionOS from studentTbl; Statement stmt; try stmt = conn.createStatement(); ResultSet rs=stmt.executeQuery(sql); List list=new ArrayList(); /遍历操作 while(rs.next() int id=rs.getInt(1); String name=rs.getString(2); double a=rs.getDouble(3); double b=rs.getDouble(4); double c=rs.getDouble(5); Student u=ne

12、w Student(); u.setId(id); u.setName(name); u.setFractionJava(a); u.setFractionMath(b); u.setFractionOS(c); list.add(u); conn.close(); return list; catch (SQLException e) e.printStackTrace(); return null; public static void FindByID(long id ,JLabel lblNewLabel )/按ID查找 Connection conn=DBUtil.open(); R

13、esultSet rs = null; try String sql=select * from StudentTbl where id=?; PreparedStatement sts=conn.prepareStatement(sql); sts.setLong(1, id); rs=sts.executeQuery(); while(rs.next() int i=rs.getInt(1); String name=rs.getString(2); double a=rs.getDouble(3); double b=rs.getDouble(4); double c=rs.getDou

14、ble(5); lblNewLabel.setText( | +i+ | +name+ | +a+ | +b+ | +c); catch(Exception e) e.printStackTrace(); finally try if(rs.first()!=true) lblNewLabel.setText(查无此人!); catch (SQLException e) e.printStackTrace(); public static void FindByName(String s, JLabel lblNewLabel) /按Name查找 Connection conn=DBUtil.

15、open(); ResultSet rs = null; try String sql=select * from StudentTbl where name=?; PreparedStatement sts=conn.prepareStatement(sql); sts.setString(1, s); rs=sts.executeQuery(); while(rs.next() int id=rs.getInt(1); String name=rs.getString(2); double a=rs.getDouble(3); double b=rs.getDouble(4); doubl

16、e c=rs.getDouble(5); lblNewLabel.setText( | +id+ | +name+ | +a+ | +b+ | +c); catch(Exception e) e.printStackTrace(); finally try if(rs.first()!=true) lblNewLabel.setText(查无此人!); catch (SQLException e) e.printStackTrace(); public static void DeleteByID(long id)/删除 Connection conn=DBUtil.open(); Prepa

17、redStatement sts=null; int a=0; try sts=conn.prepareStatement(delete from StudentTbl where id=?); sts.setLong(1, id); a=sts.executeUpdate(); if(a0) JOptionPane.showMessageDialog(null, 删除成功!, WO, JOptionPane.INFORMATION_MESSAGE); if(a=0) JOptionPane.showMessageDialog(null, 无此人!, WO, JOptionPane.INFOR

18、MATION_MESSAGE); catch(Exception e) e.printStackTrace(); DBUtil.close(conn); public static void Sort(JTextArea ta,int index) /排序 /查询 Connection conn=DBUtil.open(); String sql=select id,name,frctionJava,fractionMath,fractionOS from studentTbl; Statement stmt; try stmt = conn.createStatement(); Result

19、Set rs=stmt.executeQuery(sql); List list=new ArrayList(); /遍历操作 while(rs.next() int id=rs.getInt(1); String name=rs.getString(2); double a=rs.getDouble(3); double b=rs.getDouble(4); double c=rs.getDouble(5); Student u=new Student(); u.setId(id); u.setName(name); u.setFractionJava(a); u.setFractionMa

20、th(b); u.setFractionOS(c); list.add(u); Collections.sort(list,new Comparator() public int compare(Student o1, Student o2) int i = 1 ; if(index=1) i= (int) (o2.getFractionJava() - o1.getFractionJava(); if(index=2) i = (int) (o2.getFractionMath() - o1.getFractionMath(); if(index=3) i = (int) (o2.getFr

21、actionOS() - o1.getFractionOS(); return i; ); String s=listToString(list, n); ta.setText(s); catch (SQLException e) e.printStackTrace(); DBUtil.close(conn); public static void add(Student stu) /添加 Connection conn=DBUtil.open(); PreparedStatement sts; try sts = conn.prepareStatement(insert into Stude

22、ntTbl values(?,?,?,?,?); sts.setLong(1, stu.getId(); sts.setString(2, stu.getName(); sts.setDouble(3, stu.getFractionJava(); sts.setDouble(4, stu.getFractionMath(); sts.setDouble(5, stu.getFractionOS(); sts.executeUpdate(); catch (SQLException e) e.printStackTrace(); DBUtil.close(conn); public stati

23、c void UpdateStudent(Student stu)/更新Connection conn=DBUtil.open(); try String sql=update studenttbl set name=+stu.getName()+,FrctionJava=+ stu.getFractionJava()+,FractionMath=+stu.getFractionMath()+,FractionOS=+stu.getFractionOS()+ where id=+stu.getId()+; PreparedStatement sts=conn.prepareStatement(

24、sql); sts.executeUpdate(); catch(Exception e) e.printStackTrace(); class Studentpackage test;import java.io.Serializable;public class Student implements Serializable private static final long serialVersionUID =4558876142427402513L; private String name; private long id; private double fractionOS; pri

25、vate double fractionJava; private double fractionMath; public String getName() return name; public void setName(String name) this.name = name; public long getId() return id; public void setId(long id) this.id = id; public double getFractionOS() return fractionOS; public void setFractionOS(double fra

26、ctionOS) this.fractionOS = fractionOS; public double getFractionJava() return fractionJava; public void setFractionJava(double fractionJava) this.fractionJava = fractionJava; public double getFractionMath() return fractionMath; public void setFractionMath(double fractionMath) this.fractionMath = fra

27、ctionMath; public String toString() return (name+ +id+ Java:+fractionJava+ Math:+fractionMath+ OS:+fractionOS); class MyJFramepackage test;import javax.swing.JFrame;import javax.swing.JPanel;import java.awt.BorderLayout;import java.awt.CardLayout;import java.awt.Insets;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import java.awt.Color;import javax.swing.SwingConstants;import javax.swing.JLabel;import java.awt.Font;public class MyJFram

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2