已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
18Java程序设计一、课程设计要求:1、用到书上(课本或实验册)上的至少三个实例;2、用到至少两种布局和至少四种组件;3、用到对话框;4、用到对数据库的查询、删除、添加和修改;5、最好用到输入输出流;6、具有一定的实际意义。二、用到的实例及实际意义:2.1 程序所用到的实例:1、Java2使用教程第10章例题10.12 P282;2、Java2使用教程第11章例题11.8 P323;3、Java2使用教程第15章所有例题均有使用作参考 P391-411;4、在其他参考书和网上也有用到相关程序和代码,并有所参考和借鉴。2.2程序的实际意义: 本学生成绩管理系统具有对学生成绩进行管理的功能。并于数据库相连接,能够对学生的成绩、姓名、出生日期进行查询、添加和删除等,简捷方便,容易使用。三、程序代码及运行效果:3.1.1 主类代码:/*主类代码*/import javax.swing.*;import java.awt.*;import java.awt.event.*;class MyPanel extends JPanel Image img=Toolkit.getDefaultToolkit().getImage(c:/a.jpg); public void paint(Graphics g) g.drawImage(img,0,0,this); public class MainForm extends JFrame implements ActionListener JMenu mSystem=new JMenu(系统); JMenuItem mExit=new JMenuItem(退出); JMenu mOperate=new JMenu(数据操作); JMenuItem mAdd=new JMenuItem(添加); JMenuItem mDel=new JMenuItem(删除); JMenuItem mModify=new JMenuItem(修改); JMenu mQuery=new JMenu(查询); JMenuItem mName=new JMenuItem(按姓名查询); JMenuItem mScore=new JMenuItem(按成绩查询); JMenu mHelp=new JMenu(帮助); JMenuItem mAbout=new JMenuItem(软件信息); JMenuBar mBar=new JMenuBar(); MainForm() super(学生成绩管理系统); setSize(875,583); mSystem.add(mExit); mOperate.add(mAdd); mOperate.add(mDel); mOperate.add(mModify); mQuery.add(mName); mQuery.add(mScore); mHelp.add(mAbout); mBar.add(mSystem); mBar.add(mOperate); mBar.add(mQuery); mBar.add(mHelp); setJMenuBar(mBar); mExit.addActionListener(this); mAdd.addActionListener(this); mDel.addActionListener(this); mModify.addActionListener(this); mName.addActionListener(this); mScore.addActionListener(this); mAbout.addActionListener(this); setContentPane(new MyPanel(); setVisible(true); public void actionPerformed(ActionEvent ae) if(ae.getSource()=mExit) System.exit(0); else if(ae.getSource()=mAbout) JOptionPane.showMessageDialog(this,学生成绩管理系统nn应用科学学院nn2011年4月,软件信息,JOptionPane.INFORMATION_MESSAGE); else if(ae.getSource()=mAdd) new AddForm().setVisible(true); else if(ae.getSource()=mDel) new DeleteForm().setVisible(true); else if(ae.getSource()=mModify) new ModifyForm().setVisible(true); else if(ae.getSource()=mName) new NameQueryForm().setVisible(true); else if(ae.getSource()=mScore) new ScoreQueryForm().setVisible(true); public static void main(String args) new MainForm(); 3.1.2 运行效果:3.2.1 修改数据:/*修改数据*/import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;public class ModifyForm extends JFrame implements ActionListener JLabel labName=new JLabel(姓名:); JLabel labDate=new JLabel(出生日期:); JLabel labScore=new JLabel(成绩:); JTextField txtName=new JTextField(20); JTextField txtDate=new JTextField(18); JTextField txtScore=new JTextField(20); JButton btnModify=new JButton(修改); JButton btnCancel=new JButton(取消); JButton btnQuery=new JButton(查询); JPanel pan=new JPanel(); JPanel pan1=new JPanel(); JPanel pan2=new JPanel(); JPanel pan3=new JPanel(); JPanel pan4=new JPanel(); Connection con; Statement sql; ResultSet rs; ModifyForm() super(修改数据); setSize(400,300); pan1.add(labName); pan1.add(txtName); pan2.add(labDate); pan2.add(txtDate); pan3.add(labScore); pan3.add(txtScore); pan4.add(btnQuery); pan4.add(btnModify); pan4.add(btnCancel); pan.setLayout(new GridLayout(3,1); pan.add(pan1); pan.add(pan2); pan.add(pan3); getContentPane().add(pan,Center); getContentPane().add(pan4,South); btnQuery.addActionListener(this); btnModify.addActionListener(this); btnCancel.addActionListener(this); btnModify.setEnabled(false); txtDate.setEditable(false); txtScore.setEditable(false); setVisible(true); txtName.requestFocus(); public void actionPerformed(ActionEvent ae) if(ae.getSource()=btnCancel) dispose(); else if(ae.getSource()=btnQuery) try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundException e) trycon=DriverManager.getConnection(jdbc:odbc:sun,gxy,123); sql=con.createStatement(); rs=sql.executeQuery(select * from 成绩表 where 姓名=+txtName.getText()+); if(rs.next() txtName.setText(rs.getString(姓名); txtScore.setText(new Integer(rs.getInt(成绩).toString(); txtDate.setText(rs.getDate(出生日期).toString(); btnModify.setEnabled(true); txtDate.setEditable(true); txtScore.setEditable(true); else System.out.println(不存在该记录! ); btnModify.setEnabled(false); txtName.setText(); txtScore.setText(); txtDate.setText(); txtDate.setEditable(false); txtScore.setEditable(false); catch(SQLException e) else if(ae.getSource()=btnModify) try System.out.println(Update 成绩表 set 出生日期=+txtDate.getText()+,成绩=+txtScore.getText()+ where 姓名=+txtName.getText()+); sql.executeUpdate(Update 成绩表 set 出生日期=+txtDate.getText()+,成绩=+txtScore.getText()+ where 姓名=+txtName.getText()+); System.out.println(记录修改完毕!); btnModify.setEnabled(false); txtName.setText(); txtScore.setText(); txtDate.setText(); txtDate.setEditable(false); txtScore.setEditable(false); con.close(); catch(SQLException e) public static void main(String args) new ModifyForm(); 3.2.2 运行效果:3.3.1 删除数据:/*删除数据*/import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;public class DeleteForm extends JFrame implements ActionListenerJLabel labName=new JLabel(姓名:); JLabel labDate=new JLabel(出生日期:); JLabel labScore=new JLabel(成绩:); JTextField txtName=new JTextField(20); JTextField txtDate=new JTextField(18); JTextField txtScore=new JTextField(20); JButton btnDelete=new JButton(删除); JButton btnCancel=new JButton(取消); JButton btnQuery=new JButton(查询); JPanel pan=new JPanel(); JPanel pan1=new JPanel(); JPanel pan2=new JPanel(); JPanel pan3=new JPanel(); JPanel pan4=new JPanel(); Connection con; Statement sql; ResultSet rs; DeleteForm() super(删除数据); setSize(400,300); pan1.add(labName); pan1.add(txtName); pan2.add(labDate); pan2.add(txtDate); pan3.add(labScore); pan3.add(txtScore); pan4.add(btnQuery); pan4.add(btnDelete); pan4.add(btnCancel); pan.setLayout(new GridLayout(3,1); pan.add(pan1); pan.add(pan2); pan.add(pan3); getContentPane().add(pan,Center); getContentPane().add(pan4,South); btnQuery.addActionListener(this); btnDelete.addActionListener(this); btnCancel.addActionListener(this); btnDelete.setEnabled(false);/取消删除按钮的功能 txtDate.setEditable(false); txtScore.setEditable(false); setVisible(true); txtName.requestFocus(); public void actionPerformed(ActionEvent ae) if(ae.getSource()=btnCancel) dispose(); else if(ae.getSource()=btnQuery)/实现查询功能 try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundException e) trycon=DriverManager.getConnection(jdbc:odbc:sun,gxy,123); sql=con.createStatement(); rs=sql.executeQuery(select * from 成绩表 where 姓名=+txtName.getText()+); if(rs.next() txtName.setText(rs.getString(姓名); txtScore.setText(new Integer(rs.getInt(成绩).toString(); txtDate.setText(rs.getDate(出生日期).toString(); btnDelete.setEnabled(true);/使删除按钮功能实现 txtDate.setEditable(true); txtScore.setEditable(true); else System.out.println(不存在该记录!); btnDelete.setEnabled(false); txtName.setText(); txtScore.setText(); txtDate.setText(); txtDate.setEditable(false); txtScore.setEditable(false); catch(SQLException e) else if(ae.getSource()=btnDelete)/实现删除功能 try System.out.println(Update 成绩表 set 出生日期=+txtDate.getText()+,成绩=+txtScore.getText()+ where 姓名=+txtName.getText()+); sql.executeUpdate(DELETE FROM 成绩表 where 姓名=+txtName.getText()+); System.out.println(记录删除完毕!); btnDelete.setEnabled(false); txtName.setText(); txtScore.setText(); txtDate.setText(); txtDate.setEditable(false); txtScore.setEditable(false); con.close(); catch(SQLException e) public static void main(String args) new DeleteForm(); 3.3.2 运行效果:3.4.1 添加数据:/*添加数据*/import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;public class AddForm extends JFrame implements ActionListenerJLabel labName=new JLabel(姓名:); JLabel labDate=new JLabel(出生日期:); JLabel labScore=new JLabel(成绩:); JTextField txtName=new JTextField(20); JTextField txtDate=new JTextField(18); JTextField txtScore=new JTextField(20); JButton btnAdd=new JButton(添加); JButton btnCancel=new JButton(取消); JPanel pan=new JPanel(); JPanel pan1=new JPanel(); JPanel pan2=new JPanel(); JPanel pan3=new JPanel(); JPanel pan4=new JPanel(); Connection con; Statement sql; ResultSet rs; AddForm() super(添加数据); setSize(400,300); pan1.add(labName); pan1.add(txtName); pan2.add(labDate); pan2.add(txtDate); pan3.add(labScore); pan3.add(txtScore); pan4.add(btnAdd); pan4.add(btnCancel); pan.setLayout(new GridLayout(3,1); pan.add(pan1); pan.add(pan2); pan.add(pan3); getContentPane().add(pan,Center); getContentPane().add(pan4,South); btnAdd.addActionListener(this); btnCancel.addActionListener(this); btnAdd.setEnabled(true); txtDate.setEditable(true); txtScore.setEditable(true); setVisible(true); txtName.requestFocus(); public void actionPerformed(ActionEvent ae) String recode,insert1,出生日期,姓名; int 成绩; if(ae.getSource()=btnCancel) this.dispose(); else if(ae.getSource()=btnAdd) try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundException e) trycon=DriverManager.getConnection(jdbc:odbc:sun,gxy,123); sql=con.createStatement(); 姓名=txtName.getText(); 出生日期=txtDate.getText(); 成绩=Integer.parseInt(txtScore.getText(); recode=(+姓名+,+出生日期+,+成绩+); insert1=INSERT INTO 成绩表 VALUES +recode; sql.executeUpdate(insert1); System.out.println(记录添加完毕!); btnAdd.setEnabled(false); txtName.setText(); txtScore.setText(); txtDate.setText(); con.close(); catch(SQLException e) public static void main(String args) new AddForm(); 3.4.2 运行效果:3.5.1 按姓名查询数据:/*按姓名查询数据*/import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;public class NameQueryForm extends JFrame implements ActionListener JLabel labName=new JLabel(姓名:); JLabel labDate=new JLabel(出生日期:); JLabel labScore=new JLabel(成绩:); JTextField txtName=new JTextField(20); JTextField txtDate=new JTextField(18); JTextField txtScore=new JTextField(20); JButton btnCancel=new JButton(取消); JButton btnQuery=new JButton(查询); JPanel pan=new JPanel(); JPanel pan1=new JPanel(); JPanel pan2=new JPanel(); JPanel pan3=new JPanel(); JPanel pan4=new JPanel(); Connection con; Statement sql; ResultSet rs; NameQueryForm() super(按姓名查询); setSize(400,300); pan1.add(labName); pan1.add(txtName); pan2.add(labDate); pan2.add(txtDate); pan3.add(labScore); pan3.add(txtScore); pan4.add(btnQuery); pan4.add(btnCancel); pan.setLayout(new GridLayout(3,1); pan.add(pan1); pan.add(pan2); pan.add(pan3); getContentPane().add(pan,Center); getContentPane().add(pan4,South); btnQuery.addActionListener(this); btnCancel.addActionListener(this); txtDate.setEditable(false); txtScore.setEditable(false); setVisible(true); txtName.requestFocus(); public void actionPerformed(ActionEvent ae) if(ae.getSource()=btnCancel) dispose(); else if(ae.getSource()=btnQuery) try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundException e) trycon=DriverManager.getConnection(jdbc:odbc:sun,gxy,123); sql=con.createStatement(); rs=sql.executeQuery(select * from 成绩表 where 姓名=+txtName.getText()+); if(rs.next() txtName.setText(rs.getString(姓名); txtScore.setText(new Integer(rs.getInt(成绩).toString(); txtDate.setText(rs.getDate(出生日期).toString(); else System.out.println(不存在该记录! ); txtName.setText(); txtScore.setText(); txtDate.setText(); txtName.requestFocus(); catch(SQLException e) public static void main(String args) new NameQueryForm(); 3.5.2 运行效果:3.6.1 按成绩查询数据:/*按成绩查询数据*/import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;import javax.swing.table.DefaultTableModel;import javax.swing.table.JTableHeader;public class ScoreQueryForm extends JFrame implements ActionListener JLabel labScore=new JLabel(请输入成绩:); JTextField txtScore=new JTextField(10); JButton btnQuery=new JButton(查询); JPanel pan1=new JPanel(); JPanel pan2=new JPanel(); String str=姓名,出生日期,成绩; Object data=new Object103; JTable table=new JTable(data,str); JTableHeader head=table.getTableHeader(); JScrollPane jsp=new JScrollPane(table);/滚动 Connection con; Statement sql; ResultSet rs; ScoreQueryForm() super(按成绩查询); setSize(400,300); pan1.add(labScore); pan1.add(txtScore); pan1.add(btnQuery);/以上3条在第一个面板加入内容 getContentPane().add(pan1,North);/把面板1放到窗口顶部 pan2.setLayout(new BorderLayout(); pan2.add(head,North);/将表头放在面板2的顶部 pan2.add(jsp,Center);/表格放在pan2中间 getContentPane().add(pan2,Center);/把面板2整体加入到主窗口中 btnQuery.addActionListener(this); /增加查询按钮的监视器 setVisible(true); public void actionPerformed(ActionEvent ae) if(ae.getSource()=btnQuery) int i,j,row; try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundException e) try con=DriverManager.getConnection(jdbc:odbc:sun,gxy,123); sql=con.cr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年高三化学有机推断培训试卷(附答案)
- 2025年北京市公务员考试行测资料分析专项训练试卷(含答案)
- 人工智能的国际合作前景:技术应用探讨
- 计算机视觉技术的未来发展:迈向更智能世界
- 低空遥感在自然资源保护中的应用
- 技术虚实融合创新应用场景探索与实证研究
- 航运市场管理题库及答案
- 老年高血压患者家庭血压监测数据临床应用路径方案
- 老年患者药物性肝损伤监测与处理方案
- 老年患者慢性疼痛睡眠障碍干预方案
- 化粪池清掏年度计划方案
- 【高分复习笔记】李博《生态学》笔记和课后习题(含考研真题)详解
- DB12T 1409-2024 集中供暖节能气象等级划分规范
- 课件医学模板教学课件
- 制造业产品质量售后服务方案
- 人教版(2024新版)七年级上册数学第三次月考模拟试卷(含答案)
- 2025届四川省绵阳是南山中学物理高一第一学期期中统考试题含解析
- 车辆维修服务项目技术规范书-采购技术文件规范模版
- 《JAVA程序设计A》教学大纲
- 2024年焊工(初级)证考试题库及答案(500题)
- 2024年全国甲卷高考历史试卷(真题+答案)
评论
0/150
提交评论