Java课程设计:信息录入显示系统.doc_第1页
Java课程设计:信息录入显示系统.doc_第2页
Java课程设计:信息录入显示系统.doc_第3页
Java课程设计:信息录入显示系统.doc_第4页
Java课程设计:信息录入显示系统.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

程序设计课程设计报告设计题目:java面向对象程序设计 专业班级: 学 号: 姓 名: 指导教师: 时间:2013.06.8-2012.06.21 Java课程设计:信息录入显示系统摘要:本信息录入显示系统主要依托java程序设计和Access数据库,使得其有简单的信息录入、显示及查询功能,并且可以对数据进行分类的指定查询。系统使用Java进行编写操作的界面,美观而有显出人性化设计的好处。关键字:信息录入 信息显示 信息查询 退出一、课题概述1、设计目的运用JAVA、JDBC及Access设计一个完整的信息录入显示系统。2、设计要求信息录入显示系统要求有四个界面:主界面、录入界面、显示界面和查询界面。通过JAVA程序连接到数据库,根据相对应的操作要求完成一系列的操作,包括:学生信息的录入、显示,查询等操作。二、设计思路及采取方案1、 设计主表进入Access数据库创建一个名字为java.mdb的数据库文件,其中含有一个表info,如下图所示。 2、 连接数据库通过JDBC完成与Access数据库建立连接。创建一个ODBC数据源,控制面板-管理工具-数据源(ODBC),在弹出的对话框中选择相应的操作。3、 界面设计思路及取得结果信息录入显示系统有四个界面:主界面、录入界面、显示界面和查询界面,分别使用四个panel。菜单栏使用MenuBar()方法,按钮input、show、search、exid添加到工具条JToorBar上,如图所示。主界面:面板Panel上加入标签Label,在标签山将标签设置为居中显示。代码:panel=new Panel(); label=new Label(欢迎使用,Label.CENTER); label.setForeground(Color.black);/设置字体颜色 label.setFont(new Font(宋体,1,50);/设置字体大小 panel.setBackground(Color.cyan); panel.setLayout(card); panel.add(1, label); add(panel,BorderLayout.CENTER); card.show(panel,1);/主界面录入界面:创建五个Box,将标签、文本框和按钮分别放在box1、box2、box3中,将box1和box2添加到basebox中,把basebox和box3添加boxh中并设置basebox和box3的位置,把boxh添加到面板上,运用BorderLayout使其居中显示。代码: box1=Box.createVerticalBox(); box1.add(new Label(学号); box1.add(Box.createVerticalStrut(10); box1.add(new Label(姓名); box1.add(Box.createVerticalStrut(10); box1.add(new Label(专业); box1.add(Box.createVerticalStrut(10); box2=Box.createVerticalBox(); t1=new TextField(12); box2.add(t1); box2.add(Box.createVerticalStrut(10); t2=new TextField(12); box2.add(t2); box2.add(Box.createVerticalStrut(10); t3=new TextField(12); box2.add(t3); box2.add(Box.createVerticalStrut(10); basebox=Box.createHorizontalBox(); basebox.add(box1); basebox.add(box2); box3=Box.createHorizontalBox(); button5=new JButton(录入); button5.addActionListener(this); box3.add(button5); box3.add(Box.createVerticalStrut(12); button6=new JButton(重置); button6.addActionListener(this); box3.add(button6); box3.add(Box.createVerticalStrut(12); button7=new JButton(结束); button7.addActionListener(this); box3.add(button7); box3.add(Box.createVerticalStrut(12); boxh=Box.createVerticalBox(); boxh.add(basebox); boxh.add(Box.createVerticalStrut(10); boxh.add(box3); panelinput=new Panel(); panelinput.add(boxh,BorderLayout.CENTER); panel.add(2,panelinput); 显示界面:面板panel上创建表格table和按钮button,点击“返回”按钮后返回主界面。显示界面要与数据库相连接。代码:tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);catch(ClassNotFoundException e)System.out.println();trycon=DriverManager.getConnection(jdbc:odbc:TestDB,admin,admin);sql=con.createStatement();rs=sql.executeQuery(select * from info);while(rs.next()&i30)ai0=rs.getString(iNum);ai1=rs.getString(iName);ai2=rs.getString(iMajor);i+; con.close();catch(SQLException e) button8=new JButton(返回); button8.addActionListener(this); table=new JTable(a,name); panelshow=new Panel(); panelshow.setLayout(new BorderLayout(); panelshow.add(new JScrollPane(table,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); panelshow.add(button8,BorderLayout.SOUTH); panel.add(3,panelshow);/show 查询界面:创建两个面板panel,其中一个面板上添加下拉列表、文本框和标签并连同表格一起添加到另一个面板上。代码:JTable table,tablesearch; Object b=new Object303; int i=0;int p=0; Object name=iNum,iName,iMajor; String inum;String iname;String imajor; String recode,insertStr; Label labelsearch=new Label(查询条件); TextField t4=new TextField(12); Choice ch=new Choice();ch.add(iNum);ch.add(iName);ch.add(iMajor); ch.addItemListener(this); t4.addActionListener(this); panelsearch=new Panel(); panelsearch.setLayout(new BorderLayout(); panelsearch1=new Panel(); panelsearch1.add(labelsearch); panelsearch1.add(t4); panelsearch1.add(ch); panelsearch1.setBackground(Color.pink); tablesearch=new JTable(b,name); panelsearch.add(new JScrollPane(tablesearch,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); panelsearch.add(panelsearch1,BorderLayout.SOUTH); panel.add(4,panelsearch);三、 设计总结与体会遇到问题及解决方法:1、面板上的元素有覆盖现象 运用BorderLayout布局设置元素位置。2、面板的切换 CardLayout布局管理器能够帮助用户处理两个以至更多的成员共享同一显示空间,它把容器分成许多层,每层的显示空间占据整个容器的大小,但是每层只允许放置一个组件,每层可以利用Panel来实现复杂的用户界面。 使用CardLayout的一般步骤如下: (1)创建CardLayout对象作为布局,如: CardLayout card=new CardLayout(); (2)使用容器的setLayout()方法为容器设置布局,如: con.setLayout(card); (3)调用容器的方法add(String s,Component b)将组件b加入容器,并给出了显示该组件的代号s。组件的代号是另外给的,和组件的名字没有必然联系。不同的组件代号不同。最先加入con的是第一张,依次排序。(4)创建的布局card用CardLayout类提供的show(方法),根据容器名字con和其中的组件的代号s显示这一组件: mycard.show(con,s);3、stmt=Con.createStatement(),代码编译没有报错,但是运行却抛出异常的问题要注意语句中文本型和整型赋值的区别,引号的用法,取结果集并处理ResultSet的next()方法。4、 表格中录入数据后在显示界面不能显示 表格对象调用repaint()方法进行数据刷新。设计体会:这次设计实验要求要连接到Access数据库,并且可以对数据执行查询,添加,修改,删除等一些操作。首先要做好一个数据库,然后要创建一个ODBC数据源,控制面板-管理工具-数据源(ODBC),在弹出的对话框中选择相应的操作。本信息录入显示系统主要依托java程序设计和Access数据库,使得其有简单的信息录入、显示及查询功能,并且可以对数据进行分类的指定查询。系统使用Java进行编写操作的界面,美观而有显出人性化设计的好处。 通过本次实践课程,我熟悉了Access数据库的基本操作如:创建数据库、表,以及对相关表的添加、删除、修改、查询等操作。在本次实验设计中,主要用到了java面向用户程序设计,学会了在java语言中实现对数据库的应用,能够在图形窗口下进行数据的管理。当然,由于我自身对编程知识的掌握及运用存在不足,使得系统还存在一定的缺陷,还望老师指正。 最后在实践过程中得到了老师和同学的帮助,在这里表示感谢。四、 主要参考文献Java2实用教程(第三版)五、 附录import javax.swing.*;import java.awt.*;import javax.swing.border.*;import java.awt.event.*;import java.sql.*;class window extends Frame implements ItemListener,ActionListener Frame frame; JButton b1,b2,b3,b4,b5,b6,b7,b8; JToolBar toolBar; Panel panel,panel1,panel2,panel3,panel4; Label label; MenuBar mb=new MenuBar(); Menu m=new Menu(功能选择); MenuItem input=new MenuItem(录入); MenuItem show=new MenuItem(显示); MenuItem search=new MenuItem(查询); MenuItem exit=new MenuItem(退出); CardLayout card=new CardLayout(); Box basebox,box1,box2,box3,boxh; TextField t1,t2,t3; Connection con; Statement sql; ResultSet rs; JTable tablesearch; Object a=new Object303; Object b=new Object303; int i=0;int p=0; Object name=iNum,iName,iMajor; JTable table=new JTable(a,name); String inum;String iname;String imajor; String recode,insertStr; Label labelsearch=new Label(查询条件); TextField t4=new TextField(12); Choice ch=new Choice(); window() frame=new Frame(信息录入显示系统); mb.add(m); setMenuBar(mb); m.add(input); input.addActionListener(this); m.add(show); show.addActionListener(this); m.add(search); search.addActionListener(this); m.addSeparator(); m.add(exit); exit.addActionListener(this); b1=new JButton(input,new ImageIcon(01.jpg); b1.addActionListener(this); b2=new JButton(show,new ImageIcon(02.jpg); b2.addActionListener(this); b3=new JButton(search,new ImageIcon(03.jpg); b3.addActionListener(this); b4=new JButton(exit,new ImageIcon(04.jpg); b4.addActionListener(this); toolBar=new JToolBar(); toolBar.add(b1); toolBar.add(b2); toolBar.add(b3); toolBar.add(b4); this.add(toolBar,BorderLayout.NORTH); panel=new Panel(); label=new Label(欢迎使用,Label.CENTER); label.setForeground(Color.black);/设置字体颜色 label.setFont(new Font(宋体,1,50);/设置字体大小 panel.setBackground(Color.cyan); panel.setLayout(card); panel.add(1, label); add(panel,BorderLayout.CENTER); card.show(panel,1);/主界面 box1=Box.createVerticalBox(); box1.add(new Label(学号); box1.add(Box.createVerticalStrut(10); box1.add(new Label(姓名); box1.add(Box.createVerticalStrut(10); box1.add(new Label(专业); box1.add(Box.createVerticalStrut(10); box2=Box.createVerticalBox(); t1=new TextField(12); box2.add(t1); box2.add(Box.createVerticalStrut(10); t2=new TextField(12); box2.add(t2); box2.add(Box.createVerticalStrut(10); t3=new TextField(12); box2.add(t3); box2.add(Box.createVerticalStrut(10); basebox=Box.createHorizontalBox(); basebox.add(box1); basebox.add(box2); box3=Box.createHorizontalBox(); b5=new JButton(录入); b5.addActionListener(this); box3.add(b5); box3.add(Box.createVerticalStrut(12); b6=new JButton(重置); b6.addActionListener(this); box3.add(b6); box3.add(Box.createVerticalStrut(12); b7=new JButton(结束); b7.addActionListener(this); box3.add(b7); box3.add(Box.createVerticalStrut(12); boxh=Box.createVerticalBox(); boxh.add(basebox); boxh.add(Box.createVerticalStrut(10); boxh.add(box3); panel1=new Panel(); panel1.add(boxh,BorderLayout.CENTER); panel.add(2,panel1); addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0); );/input b8=new JButton(返回); b8.addActionListener(this); panel2=new Panel(); panel2.setLayout(new BorderLayout(); panel2.add(new JScrollPane(table,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); panel2.add(b8,BorderLayout.SOUTH); panel.add(3,panel2);/show ch.add(iNum); ch.add(iName); ch.add(iMajor); ch.addItemListener(this); t4.addActionListener(this); panel3=new Panel(); panel3.setLayout(new BorderLayout(); panel4=new Panel(); panel4.add(labelsearch); panel4.add(t4); panel4.add(ch); panel4.setBackground(Color.pink); tablesearch=new JTable(b,name); panel3.add(new JScrollPane(tablesearch,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); panel3.add(panel4,BorderLayout.SOUTH); panel.add(4,panel3);/SEARCH setBounds(50,50,600,600); setVisible(true); validate(); public void actionPerformed(ActionEvent e) if(e.getSource()=b1|e.getSource()=input) card.show(panel,2); if(e.getSource()=b2|e.getSource()=show) tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);catch(ClassNotFoundException l)System.out.println();trycon=DriverManager.getConnection(jdbc:odbc:TestDB,admin,admin);sql=con.createStatement();rs=sql.executeQuery(select * from info);while(rs.next()&i30)ai0=rs.getString(iNum);ai1=rs.getString(iName);ai2=rs.getString(iMajor);i+; con.close(); i=0; table.repaint();catch(SQLException l) card.show(panel,3); if (e.getSource()=b4|e.getSource()=exit) System.exit(0); if(e.getSource()=b8|e.getSource()=b7) card.show(panel,1); if(e.getSource()=b5) tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);catch(ClassNotFoundException n)Syst

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论