版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、*大 学学 生 实 验 报 告实验课程名称 J2EE及JAVA程序设计 开课实验室 DS1501 学 院 软件学院 年级 2012 专业班 1 班 学 生 姓 名 学 号 开 课 时 间 2013 至 2014 学年第 2 学期总 成 绩教师签名软件学院制J2EE及JAVA程序设计实验报告 开课实验室:DS1501 2014 年 6 月22日学院软件学院年级、专业、班12级1班姓名成绩课程名称J2EE及JAVA程序设计实验项目名 称实验6-8: 图形界面编程、抽象类与接口、数据库。指导教师教师评语教师签名:2014年 月 日一、 实验目的实验六:基本掌握使用JAVA来完成基本的图形界面等调试与
2、编程,实现理论课上讲述的内容PPT内容的验证。实验七:掌握抽象类与接口的概念,验证代码,能写小程序.实验八:掌握利用JAVA完成数据库课程中的基本数据记录操作。二、实验内容实验六内容:调试,验证,课件ppt内容,课后布置的作业(实验报告内容中可不写)。实验七内容:完成教材12章关于抽象类与接口方面的范例内容的代码验证、后面作业的代码设计(实验报告中可不写)。实验八内容:(二选一,提交该部分实验报告内容)1) 利用图形界面编程,实现C/S模式的数据库访问操作.完成SQL SERVER或MYSQL数据库管理系统的安装,配置,JAVA数据库访问环境的配置;完成数据库表的建立,记录插入等;建立用户表,
3、包含用户名、密码字段;利用JAVA实现图形界面,用户登录验证,进入软件运行后,针对某表记录的增、删、改、查操作.2) 完成JAVA WEB应用开发,实现B/S模式的数据库访问操作。完成SQL SERVER或MYSQL数据库管理系统的安装,配置,JAVA数据库访问环境的配置,Tomcat服务器安装配置;完成数据库表的建立,记录插入等;建立用户表,包含用户名、密码字段;利用JAVA实现WEB应用,通过浏览器访问WEB进行用户登录验证,进入WEB应用运行后,针对某表记录的增、删、改、查操作。三、使用仪器、材料JAVA SE JDK 1。7.55TomcatMysql/Sql server四、实验过程
4、原始记录(数据、图表、计算等):学生基本信息表班级信息表院系信息表用户表学生综合信息视图用户登录进入主界面点击“更新"菜单中的“对全体操作”选项,然后点击“查询"按钮 点击“更新”菜单中的“添加"选项查询发现新增信息已经插入至学生基本信息表中点击“查询”中的“按姓名查询”选项,可根据视图查询学生包括系主任、班主任在内的的综合信息同理,点击“查询”中的“按学号查询”选项,也可根据视图查询上述信息点击“更新”菜单中的“对全体操作”选项,在所得信息表对信息中进行修改,然后点击“修改”按钮,可对学生基本信息进行修改点击“更新”菜单中的“对全体操作"选项,然后点击
5、“删除”按钮,可删除某学生基本信息同于重名学生的存在,“查询"菜单中的“按姓名查询”可能会出现多条结果点击“更新”菜单中的“按学号删除”选项,输入上述所查得的两个重名学生中其一个的学号,可将其删除连接数据库:import java。sql。*; /创建数据库连接类 public class DBConnect /静态方法提高数据库的连接效率 public static Connection getConn() throws Exception /加载JDBC 驱动 Class。forName("sun.jdbc.odbc。JdbcOdbcDriver”); /以系统用户身份
6、,连接数据库 StudentManager return DriverManager.getConnection("jdbc:odbc:StudentManager”,"sh”,"123”); 登录:import java。awt。; import java。awt。event。; import java。sql。*; import javax。swing。*; /创建主界面类 public class Login extends JFrame implements ActionListener /声明连接数据库对象 Connection con; /声明SQL语
7、句对象 Statement st; /创建内容面板 JPanel contentPane; JLabel jLabel1=new JLabel("用户名:”); JTextField jTextField1=new JTextField(); JLabel jLabel2=new JLabel(”密码:”); JTextField jTextField2=new JPasswordField(20); JButton jButton1=new JButton("登录"); JButton jButton2=new JButton("取消");
8、/构造方法,创建对象时自动调用 public Login() try /连接数据库 con=DBConnect。getConn(); st=con.createStatement(); /关闭框架窗口时的默认事件方法 setDefaultCloseOperation(EXIT_ON_CLOSE); /调用初始化方法 jbInit(); catch(Exception exception) exception。printStackTrace(); /界面初始化方法 private void jbInit() throws Exception /创建内容面板和其布局 contentPane =(J
9、Panel) getContentPane(); contentPane.setLayout(null); /框架的大小和其标题 setSize(new Dimension(360,270)); setTitle("学生信息管理系统"); contentPane。add(jLabel1); contentPane。add(jLabel2); contentPane。add(jButton1); contentPane.add(jButton2); contentPane。add(jTextField1); contentPane。add(jTextField2); jLab
10、el1.setBounds(new Rectangle(27,9,81,32)); jLabel2。setBounds(new Rectangle(27,72,81,32)); jTextField1.setBounds(new Rectangle(81,9,222,32)); jTextField2。setBounds(new Rectangle(81,72,222,32)); jButton1.setBounds(new Rectangle(18,162,145,32)); jButton2。setBounds(new Rectangle(166,162,145,32); /添加事件监听器
11、 jButton1。addActionListener(this); jButton2.addActionListener(this); /菜单事件的处理方法 public void actionPerformed(ActionEvent e1) if (e1.getSource()=jButton1) /获取用户输入的用户名和密码 String Uer=jTextField1.getText(); String Pas=jTextField2。getText(); try ResultSet rs=st.executeQuery(”select UName,UPass from Users
12、where UName='”+Uer+"'"); while(rs。next()) String i=rs.getString(”UName"); String p=rs.getString(”UPass”); if(i.equals(Uer)&&p。equals(Pas)) setVisible(false); MainFrame add=new MainFrame(); /令主界面窗体居中 Dimension screenSize=Toolkit。getDefaultToolkit().getScreenSize(); Dime
13、nsion frameSize =add。getSize(); if(frameSize.height>screenSize。height) frameSize。height=screenSize.height; if(frameSize.widthscreenSize.width) frameSize。width=screenSize。width; add。setLocation((screenSize.widthframeSize.width)/2,(screenSize。height-frameSize。height)/2); add。setVisible(true); break
14、; else JOptionPane。showMessageDialog(this,"用户名或密码错误!"); catch(Exception ex) /利用消息对话框提示查询失败 JOptionPane。showMessageDialog(this,"登录失败!"); else if (e1.getSource()=jButton2) System.exit(0); 主面板:import java.awt.*; import java。awt。event.*; import javax。swing.; /创建主界面类 public class Main
15、Frame extends JFrame implements ActionListener /创建内容面板 JPanel contentPane; JMenuBar jMenuBar1=new JMenuBar(); JMenu jMenuFile=new JMenu(”文件”); JMenuItem jMenuFileExit=new JMenuItem(”退出"); JMenu jMenu1=new JMenu("更新"); JMenuItem jMenuItem1=new JMenuItem(”添加学生信息”); JMenuItem jMenuItem2=
16、new JMenuItem("按学号删除”); JMenuItem jMenuItem5=new JMenuItem("对全体操作”); JMenu jMenu2=new JMenu(”查询”); JMenuItem jMenuItem3=new JMenuItem("按姓名查询"); JMenuItem jMenuItem4=new JMenuItem(”按学号查询”); JMenu jMenuHelp=new JMenu(”帮助”); JMenuItem jMenuHelpAbout=new JMenuItem(”关于”); JLabel jLabe
17、l1=new JLabel("欢迎使用学生信息管理系统"); JLabel jLabel2=new JLabel("By: "); /构造方法,创建对象时自动调用 public MainFrame() try /关闭框架窗口时的默认事件方法 setDefaultCloseOperation(EXIT_ON_CLOSE); /调用初始化方法 jbInit(); catch(Exception exception) exception.printStackTrace(); /界面初始化方法 private void jbInit() throws Excep
18、tion /创建内容面板和其布局 contentPane =(JPanel) getContentPane(); contentPane.setLayout(null); /框架的大小和其标题 setSize(new Dimension(400,450)); setTitle("学生信息管理系统"); /添加事件监听器 jMenuFileExit。addActionListener(this); jMenuHelpAbout.addActionListener(this); jMenuItem1。addActionListener(this); jMenuItem2。add
19、ActionListener(this); jMenuItem3.addActionListener(this); jMenuItem4.addActionListener(this); jMenuItem5。addActionListener(this); /添加菜单条 setJMenuBar(jMenuBar1); /添加菜单组件到菜单条 jMenuBar1.add(jMenuFile); jMenuBar1。add(jMenu1); jMenuBar1。add(jMenu2); jMenuBar1。add(jMenuFileExit); jMenuBar1。add(jMenuHelp);
20、 /添加菜单项组件到菜单组件 jMenuFile.add(jMenuFileExit); jMenuHelp.add(jMenuHelpAbout); jMenu1.add(jMenuItem1); jMenu1。add(jMenuItem2); jMenu1.add(jMenuItem5); jMenu2.add(jMenuItem3); jMenu2.add(jMenuItem4); /添加标签到内容面板 contentPane.add(jLabel1); contentPane。add(jLabel2); /设置标签组件的大小和字体 jLabel1。setFont(new java.aw
21、t。Font("宋体”,Font。BOLD,22); jLabel1。setBounds(new Rectangle(45,135,279,55)); jLabel2。setFont(new java.awt.Font("宋体”,Font.BOLD,16)); jLabel2.setBounds(new Rectangle(211,350,200,35)); /菜单事件的处理方法 public void actionPerformed(ActionEvent actionEvent) /点击“文件”菜单下的“退出"菜单项 if(actionEvent。getSou
22、rce()=jMenuFileExit) System。exit(0); /点击“更新”菜单下的“添加”菜单项 if(actionEvent.getSource()=jMenuItem1) /创建添加学生面板对象 AddStudentPanel add=new AddStudentPanel(); /移除主界面上原有的内容 this。remove(this。getContentPane()); this。setContentPane(add); /令界面可见 this。setVisible(true); /点击“更新”菜单下的“按学号删除”菜单项 if(actionEvent.getSourc
23、e()=jMenuItem2) /创建删除学生面板对象 DeleteStudentPanel delete=new DeleteStudentPanel(); /移除主界面上原有的内容 this.remove(this.getContentPane()); this.setContentPane(delete); /令界面可见 this。setVisible(true); /点击“查询”菜单下的“按姓名查询”菜单项 if(actionEvent.getSource()=jMenuItem3) /创建“按姓名查询”面板对象 InquireOnNamePanel onName=new Inquir
24、eOnNamePanel(); /移除主界面上原有的内容 this。remove(this。getContentPane()); this.setContentPane(onName); /令界面可见 this。setVisible(true); /点击“查询"菜单下的“按学号查询”菜单项 if(actionEvent。getSource()=jMenuItem4) /创建“按学号查询”面板对象 InquireOnXHPanel onXH=new InquireOnXHPanel(); /移除主界面上原有的内容 this.remove(this。getContentPane(); t
25、his.setContentPane(onXH); /令界面可见 this。setVisible(true); /点击“更新"菜单下的“对全体操作"菜单项 if(actionEvent.getSource()=jMenuItem5) /创建“对全体进行操作”面板对象 onAll onA=new onAll(); /移除主界面上原有的内容 this.remove(this.getContentPane()); this.setContentPane(onA); /令界面可见 this.setVisible(true); 添加:import java.awt。*; import
26、 java。sql.; import javax。swing.; import java。awt.event。; /创建“添加学生面板”类 public class AddStudentPanel extends JPanel implements ActionListener /声明连接数据库对象 Connection con; /声明SQL语句对象 Statement st; /创建组件对象:标签、文本行、单选 JLabel jLabel1=new JLabel("学号”); JLabel jLabel2=new JLabel("姓名"); JLabel jL
27、abel3=new JLabel(”性别”); JLabel jLabel4=new JLabel(”出生日期”); JLabel jLabel5=new JLabel(”籍贯”); JLabel jLabel6=new JLabel(”注意:出生日期格式为YYYY/MM/DD"); JLabel jLabel7=new JLabel("班号”); JLabel jLabel8=new JLabel(”系号”); JTextField jTextField1=new JTextField(); JTextField jTextField2=new JTextField();
28、 JTextField jTextField3=new JTextField(); JTextField jTextField4=new JTextField(); JTextField jTextField5=new JTextField(); JTextField jTextField6=new JTextField(); JRadioButton jRadioButton1=new JRadioButton("男"); JRadioButton jRadioButton2=new JRadioButton("女”); ButtonGroup buttonGr
29、oup1=new ButtonGroup(); JButton jButton1=new JButton("存入数据库”); /构造方法 public AddStudentPanel() try /调用初始化方法 jbInit(); catch(Exception exception) exception.printStackTrace(); /界面初始化方法 private void jbInit() throws Exception /连接数据库 con=DBConnect。getConn(); st=con。createStatement(); /框架的布局 this。setL
30、ayout(null); /设置各组件的大小 jLabel1。setBounds(new Rectangle(21,17,64,24); jLabel2.setBounds(new Rectangle(21,51,53,22)); jLabel3.setBounds(new Rectangle(21,86,61,27)); jLabel4。setBounds(new Rectangle(21,122,59,25); jLabel5。setBounds(new Rectangle(21,188,54,24); jLabel6。setBounds(new Rectangle(102,153,219
31、,27)); jLabel7。setBounds(new Rectangle(21,225,53,22); jLabel8。setBounds(new Rectangle(21,273,53,22)); jTextField1。setBounds(new Rectangle(102,10,200,30); jTextField2。setBounds(new Rectangle(102,49,200,30)); jTextField3.setBounds(new Rectangle(102,117,200,30)); jTextField4.setBounds(new Rectangle(102
32、,183,200,30)); jTextField5.setBounds(new Rectangle(102,222,200,30); jTextField6.setBounds(new Rectangle(102,270,200,30); jRadioButton1.setBounds(new Rectangle(102,83,65,30); jRadioButton2。setBounds(new Rectangle(190,85,85,30)); jButton1。setBounds(new Rectangle(110,320,180,30); /设置单选按钮被选中 jRadioButto
33、n1.setSelected(true); /添加按钮动作事件 jButton1.addActionListener(this); /添加组件到面板 this。add(jTextField1); this。add(jLabel1); this。add(jLabel2); this.add(jTextField2); this。add(jRadioButton1); this.add(jRadioButton2); this。add(jLabel3); this。add(jLabel4); this.add(jTextField3); this。add(jLabel6); this.add(jT
34、extField4); this.add(jLabel5); this。add(jTextField5); this。add(jLabel7); this。add(jTextField6); this.add(jLabel8); this。add(jButton1); buttonGroup1.add(jRadioButton1); buttonGroup1。add(jRadioButton2); /点击按钮事件 public void actionPerformed(ActionEvent e) /获取用户输入的信息 String xuehao=jTextField1。getText();
35、String xingming=jTextField2。getText(); String xingbie="" if(jRadioButton1。isSelected()) xingbie+="男”; if(jRadioButton2。isSelected()) xingbie+=”女" String dateString=jTextField3.getText(); String jiguan=jTextField4.getText(); String banhao=jTextField5。getText(); String xihao=jTextF
36、ield6.getText(); try /设置日期格式 st.execute(”set dateformat ymd”); /利用st对象执行SQL语句,进行插入操作 st。executeUpdate(”insert into StudentInfo values("+xuehao+”,'"+xingming+”,'”+xingbie+"',"+dateString+”,”+jiguan+”','”+xihao+"',”+banhao+")"); /清空文本行的内容 jTex
37、tField1。setText("”); jTextField2。setText(”); jTextField3.setText(”"); jTextField4。setText(""); jTextField5.setText(""); jTextField6。setText(”); /利用消息对话框提示删除操作成功 JOptionPane。showMessageDialog(this,"插入成功!”); catch(Exception ex) /利用消息对话框提示不能插入,并显示异常的信息 JOptionPane.sho
38、wMessageDialog(this,"输入数据错误或者数据库不允许插入!"); ex.printStackTrace(); 按学号删除:import java。awt.; import java。sql.; import javax。swing。*; import java.awt。event。*; /创建“删除学生面板"类 public class DeleteStudentPanel extends JPanel implements ActionListener /声明连接数据库对象 Connection con; /声明SQL语句对象 Statemen
39、t st; /创建组件对象 JLabel jLabel1=new JLabel(”请输入待删除的学生的学号:"); JTextField jTextField1=new JTextField(); JButton jButton1=new JButton("删除”); /构造方法 /构造方法 public DeleteStudentPanel() try /调用初始化方法 jbInit(); catch(Exception exception) exception。printStackTrace(); /界面初始化方法 private void jbInit() throw
40、s Exception /连接数据库 con=DBConnect.getConn(); st=con.createStatement(); /框架的布局 this。setLayout(null); /设置各组件的大小 jLabel1。setFont(new java.awt.Font(”宋体",Font.BOLD,14)); jLabel1.setBounds(new Rectangle(70,20,200,30)); jTextField1。setBounds(new Rectangle(70,80,207,41); jButton1。setBounds(new Rectangle
41、(70,175,205,36)); /添加按钮动作事件 jButton1.addActionListener(this); /添加组件到面板 this。add(jLabel1); this。add(jTextField1); this。add(jButton1); /点击按钮事件 public void actionPerformed(ActionEvent e) /获取用户输入的学号 String xuehao=jTextField1.getText(); /要求用户确认删除 if(JOptionPane。showConfirmDialog(this,” 确 认 要 删 除 吗 ?”)=JO
42、ptionPane。YES_OPTION) try /利用 st对象执行SQL删除操作 st。executeUpdate("delete from StudentInfo where 学号=”+xuehao+”"); /利用消息对话框提示删除操作成功 JOptionPane。showMessageDialog(this,”删除操作成功!”); /清空输入学号的文本行 jTextField1.setText(""); catch(Exception ex) /利用消息对话框提示不能删除 JOptionPane。showMessageDialog(this,
43、”删除操作执行失败!”); 对全体操作:import java.awt.*; import java.sql.*; import javax。swing.*; import javax.swing.table.DefaultTableModel;import java。awt。event.*; import java。util.*; /创建“对全体操作面板”类 public class onAll extends JPanel implements ActionListener /声明连接数据库对象 Connection con; /声明SQL语句对象 Statement st; JButto
44、n jButton1=new JButton("查询"); JButton jButton2=new JButton("删除"); /JButton jButton3=new JButton(”添加"); JButton jButton4=new JButton(”修改”); JScrollPane jScrollPane1=new JScrollPane(); DefaultTableModel myTModel=new DefaultTableModel(); final JTable table=new JTable(myTModel);
45、 /构造方法 public onAll() try /调用初始化方法 jbInit(); catch(Exception exception) exception.printStackTrace(); /面板初始化方法 private void jbInit() throws Exception /连接数据库 con=DBConnect.getConn(); st=con。createStatement(); /框架的布局 this.setLayout(null); /设置各组件的大小 jButton2.setBounds(new Rectangle(29,333,150,30); jButt
46、on1.setBounds(new Rectangle(90,30,160,30)); jButton4。setBounds(new Rectangle(196,333,150,30); jScrollPane1。setBounds(new Rectangle(29,90,315,230)); /添加按钮动作事件 jButton1.addActionListener(this); jButton2.addActionListener(this); jButton4。addActionListener(this); /添加组件到面板 this。add(jScrollPane1); jScrollPane1.getViewport()。add(table); this.add(jButton1); this.add(jButton2); this。add(jButton4); /点击按钮事件 public void actionPerformed(ActionEvent e) if (e。getSource()=jButton1) try VectorString> col
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 淮河流域初始水权分配:理论、实践与创新路径
- 淫羊藿、金银花、板蓝根抑制甲3型流感病毒诱导细胞凋亡的作用及机制探究
- 淀粉橡胶复合材料:制备工艺、性能优化与多元应用探索
- 液液分散体系中液滴破碎机理的实验探究:多因素解析与应用导向
- 涡流增强除雾技术:数值模拟与实验的深度剖析
- 消费金融资产证券化:交易结构深度剖析与定价机制研究
- 影视制作技术与流程手册
- 妊娠期营养风险分层管理
- 2026辽宁中考地理考前冲刺卷含答案
- 2026台州市中考语文压轴题专练含答案
- 2026年贪污贿赂司法解释(二)培训课件
- 2026年一级建造师《建设工程项目管理》真题及答案
- 2026年政府采购评审专家测试卷【完整版】附答案详解
- 智驭低空 增效风能-中国通号系统解决方案(北京国际风能大会)
- 【长沙】2025年湖南长沙市芙蓉区公开招聘事业单位工作人员20人笔试历年典型考题及考点剖析附带答案详解
- 2026内蒙古和林格尔新区建设管理咨询有限公司招聘6人建设笔试参考题库及答案解析
- 区块链金融(第二版)课件 项目四 区块链赋能证券业务
- 东北三省三校2026届高三下学期第二次模拟考试 化学+答案
- 社区团购合作合同协议书模板
- 2026绵阳数据发展有限公司面向社会招聘公司员工10人考试参考题库及答案解析
- 《印出万千气象》教学课件-2025-2026学年浙人美版(新教材)初中美术八年级下册
评论
0/150
提交评论