Java课程设计信息录入显示系统Word文件下载.docx
《Java课程设计信息录入显示系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《Java课程设计信息录入显示系统Word文件下载.docx(18页珍藏版)》请在冰豆网上搜索。
系统使用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=newPanel();
label=newLabel("
欢迎使用"
Label.CENTER);
label.setForeground(Color.black);
//设置字体颜色
label.setFont(newFont("
宋体"
1,50));
//设置字体大小
panel.setBackground(Color.cyan);
panel.setLayout(card);
panel.add("
1"
label);
add(panel,BorderLayout.CENTER);
card.show(panel,"
);
//主界面
录入界面:
创建五个Box,将标签、文本框和按钮分别放在box1、box2、box3中,将box1和box2添加到basebox中,把basebox和box3添加boxh中并设置basebox和box3的位置,把boxh添加到面板上,运用BorderLayout使其居中显示。
box1=Box.createVerticalBox();
box1.add(newLabel("
学号"
));
box1.add(Box.createVerticalStrut(10));
姓名"
专业"
box2=Box.createVerticalBox();
t1=newTextField(12);
box2.add(t1);
box2.add(Box.createVerticalStrut(10));
t2=newTextField(12);
box2.add(t2);
t3=newTextField(12);
box2.add(t3);
basebox=Box.createHorizontalBox();
basebox.add(box1);
basebox.add(box2);
box3=Box.createHorizontalBox();
button5=newJButton("
录入"
button5.addActionListener(this);
box3.add(button5);
box3.add(Box.createVerticalStrut(12));
button6=newJButton("
重置"
button6.addActionListener(this);
box3.add(button6);
button7=newJButton("
结束"
button7.addActionListener(this);
box3.add(button7);
boxh=Box.createVerticalBox();
boxh.add(basebox);
boxh.add(Box.createVerticalStrut(10));
boxh.add(box3);
panelinput=newPanel();
panelinput.add(boxh,BorderLayout.CENTER);
2"
panelinput);
显示界面:
面板panel上创建表格table和按钮button,点击“返回”按钮后返回主界面。
显示界面要与数据库相连接。
try{
Class.forName("
sun.jdbc.odbc.JdbcOdbcDriver"
}catch(ClassNotFoundExceptione){
System.out.println();
}
try{
con=DriverManager.getConnection("
jdbc:
odbc:
TestDB"
"
admin"
sql=con.createStatement();
rs=sql.executeQuery("
select*frominfo"
while(rs.next()&
&
i<
30){
a[i][0]=rs.getString("
iNum"
a[i][1]=rs.getString("
iName"
a[i][2]=rs.getString("
iMajor"
i++;
con.close();
}catch(SQLExceptione){}
button8=newJButton("
返回"
button8.addActionListener(this);
table=newJTable(a,name);
panelshow=newPanel();
panelshow.setLayout(newBorderLayout());
panelshow.add(newJScrollPane(table,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS));
panelshow.add(button8,BorderLayout.SOUTH);
3"
panelshow);
//show
查询界面:
创建两个面板panel,其中一个面板上添加下拉列表、文本框和标签并连同表格一起添加到另一个面板上。
JTabletable,tablesearch;
Objectb[][]=newObject[30][3];
inti=0;
intp=0;
Objectname[]={"
};
Stringinum;
Stringiname;
Stringimajor;
Stringrecode,insertStr;
Labellabelsearch=newLabel("
查询条件"
TextFieldt4=newTextField(12);
Choicech=newChoice();
ch.add("
ch.addItemListener(this);
t4.addActionListener(this);
panelsearch=newPanel();
panelsearch.setLayout(newBorderLayout());
panelsearch1=newPanel();
panelsearch1.add(labelsearch);
panelsearch1.add(t4);
panelsearch1.add(ch);
panelsearch1.setBackground(Color.pink);
tablesearch=newJTable(b,name);
panelsearch.add(newJScrollPane(tablesearch,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
panelsearch.add(panelsearch1,BorderLayout.SOUTH);
4"
panelsearch);
三、设计总结与体会
遇到问题及解决方法:
1、面板上的元素有覆盖现象
运用BorderLayout布局设置元素位置。
2、面板的切换
CardLayout布局管理器能够帮助用户处理两个以至更多的成员共享同一显示空间,它把容器分成许多层,每层的显示空间占据整个容器的大小,但是每层只允许放置一个组件,每层可以利用Panel来实现复杂的用户界面。
使用CardLayout的一般步骤如下:
(1)创建CardLayout对象作为布局,如:
CardLayoutcard=newCardLayout();
(2)使用容器的setLayout()方法为容器设置布局,如:
con.setLayout(card);
(3)调用容器的方法add(Strings,Componentb)将组件b加入容器,并给出了显示该组件的代号s。
组件的代号是另外给的,和组件的名字没有必然联系。
不同的组件代号不同。
最先加入con的是第一张,依次排序。
(4)创建的布局card用CardLayout类提供的show(方法),根据容器名字con和其中的组件的代号s显示这一组件:
mycard.show(con,s);
3、stmt=Con.createStatement(),代码编译没有报错,但是运行却抛出异常的问题
要注意语句中文本型和整型赋值的区别,引号的用法,取结果集并处理ResultSet的next()方法。
4、表格中录入数据后在显示界面不能显示
表格对象调用repaint()方法进行数据刷新。
设计体会:
这次设计实验要求要连接到Access