JAVA课程设计报告 学生信息管理系统Word格式.docx
《JAVA课程设计报告 学生信息管理系统Word格式.docx》由会员分享,可在线阅读,更多相关《JAVA课程设计报告 学生信息管理系统Word格式.docx(61页珍藏版)》请在冰点文库上搜索。
![JAVA课程设计报告 学生信息管理系统Word格式.docx](https://file1.bingdoc.com/fileroot1/2023-4/29/bab66140-0572-4ad8-9b2f-079ef382dc45/bab66140-0572-4ad8-9b2f-079ef382dc451.gif)
(2)用数据库建立几个学生信息表;
(3)能连接数据库并实现对学生信息查询、增、删、改等功能。
1.22系统功能需求分析
系统主要分为以下几个模块:
(1)个人信息管理
(2)选课信息管理
(3)奖励信息管理
系统主要包括以下几项功能:
(1)添加学生信息;
(2)查询学生信息;
(3)删除学生信息;
(4)修改学生信息。
1.23界面构建
1、为了便于各种操作,软件采用多窗口的模式。
用户可在不同窗口进行相应操作(录入、查询、修改、删除、显示所有学生信息)。
2、主窗口是用户进行各种操作的平台,具体操作在各个独立功能窗口中完成。
3、主窗口的主要功能位于菜单中,菜单为进入各个功能窗口的唯一通道。
4、当用户在进行个别录入、删除或错误输入操作时,会弹出相应对话框提示用户。
5、界面布局尽量合理,各组件位置分布均匀美观。
2.分析与设计
2.1功能模块分析
以下是学生信息管理系统功能模块关系图,主要包含查询、添加、修改、删除学生信息等功能。
各模块分析如下:
2.11图形用户界面的设计
功能:
用户进入时的页面,丰富了整个系统的结构
主界面窗口设计函数代码程序如下:
packagestumanage;
importjavax.swing.*;
importjava.awt.*;
importsun.awt.image.*;
importjava.awt.event.*;
/**
*<
p>
Title:
<
/p>
Description:
Copyright:
Copyright(c)2003<
Company:
*@authornotattributable
*@version1.0
*/
publicclassWelcomeFrame
extendsJFrame{
JPaneljPanel1=newMyPanel();
ImageIconimageIcon1=newImageIcon("
beautiful.jpg"
);
BorderLayoutborderLayout1=newBorderLayout();
JPaneljPanel2=newJPanel();
GridBagLayoutgridBagLayout1=newGridBagLayout();
JButtonjButton1=newJButton();
JButtonjButton2=newJButton();
JButtonjButton3=newJButton();
JButtonjButton4=newJButton();
JButtonjButton5=newJButton();
publicWelcomeFrame(){
try{
jbInit();
}
catch(Exceptione){
e.printStackTrace();
publicstaticvoidmain(String[]args){
WelcomeFramewelcomeFrame=newWelcomeFrame();
welcomeFrame.pack();
welcomeFrame.show();
privatevoidjbInit()throwsException{
imageIcon1.setDescription("
imageIcon1.setImageObserver(this);
jPanel1.setLayout(borderLayout1);
jPanel1.setMinimumSize(newDimension(600,400));
jPanel1.setPreferredSize(newDimension(600,420));
this.setLocale(java.util.Locale.getDefault());
this.setResizable(true);
this.setSize(newDimension(747,396));
this.setState(Frame.NORMAL);
jPanel2.setBackground(UIManager.getColor("
RadioButtonMenuItem.selectionBackground"
));
jPanel2.setForeground(Color.black);
jPanel2.setMinimumSize(newDimension(100,30));
jPanel2.setPreferredSize(newDimension(100,400));
jPanel2.setLayout(gridBagLayout1);
jButton1.setToolTipText("
个人信息管理"
jButton1.setText("
jButton1.addActionListener(newWelcomeFrame_jButton1_actionAdapter(this));
jButton2.setToolTipText("
选课信息管理"
jButton2.setText("
jButton2.addActionListener(newWelcomeFrame_jButton2_actionAdapter(this));
jButton3.setToolTipText("
奖励信息管理"
jButton3.setText("
jButton3.addActionListener(newWelcomeFrame_jButton3_actionAdapter(this));
jButton4.addActionListener(newWelcomeFrame_jButton4_actionAdapter(this));
jButton5.setToolTipText("
退出系统"
jButton5.setText("
jButton5.addActionListener(newWelcomeFrame_jButton5_actionAdapter(this));
this.getContentPane().add(jPanel1,BorderLayout.CENTER);
jPanel1.add(jPanel2,BorderLayout.EAST);
jPanel2.add(jButton1,newGridBagConstraints(0,0,1,1,0.0,0.0
GridBagConstraints.CENTER,GridBagConstraints.NONE,newInsets(0,0,0,0),0,0));
jPanel2.add(jButton2,newGridBagConstraints(0,1,1,1,0.0,0.0
GridBagConstraints.CENTER,GridBagConstraints.NONE,newInsets(9,0,0,21),0,0));
jPanel2.add(jButton3,newGridBagConstraints(0,2,1,1,0.0,0.0
GridBagConstraints.CENTER,GridBagConstraints.NONE,newInsets(10,0,0,10),0,0));
jPanel2.add(jButton5,newGridBagConstraints(0,4,2,1,0.0,0.0
GridBagConstraints.CENTER,GridBagConstraints.NONE,newInsets(0,0,0,11),21,0));
jPanel2.add(jButton4,newGridBagConstraints(0,3,1,1,0.0,0.0
GridBagConstraints.CENTER,GridBagConstraints.NONE,newInsets(9,0,13,0),12,0));
classMyPanel
extendsJPanel{
publicvoidpaintComponent(Graphicsg){
super.paintComponent(g);
imageIcon1.paintIcon(this,g,0,0);
voidjButton4_actionPerformed(ActionEvente){
MainFrame.main(null);
this.hide();
MainFrame.jTabbedPane1.setSelectedComponent(MainFrame.jPanel4);
voidjButton1_actionPerformed(ActionEvente){
voidjButton3_actionPerformed(ActionEvente){
MainFrame.jTabbedPane1.setSelectedComponent(MainFrame.jPanel3);
voidjButton2_actionPerformed(ActionEvente){
MainFrame.jTabbedPane1.setSelectedComponent(MainFrame.jPanel2);
voidjButton5_actionPerformed(ActionEvente){
System.exit(0);
}
classWelcomeFrame_jButton4_actionAdapterimplementsjava.awt.event.ActionListener{
WelcomeFrameadaptee;
WelcomeFrame_jButton4_actionAdapter(WelcomeFrameadaptee){
this.adaptee=adaptee;
publicvoidactionPerformed(ActionEvente){
adaptee.jButton4_actionPerformed(e);
classWelcomeFrame_jButton1_actionAdapterimplementsjava.awt.event.ActionListener{
WelcomeFrame_jButton1_actionAdapter(WelcomeFrameadaptee){
adaptee.jButton1_actionPerformed(e);
classWelcomeFrame_jButton3_actionAdapterimplementsjava.awt.event.ActionListener{
WelcomeFrame_jButton3_actionAdapter(WelcomeFrameadaptee){
adaptee.jButton3_actionPerformed(e);
classWelcomeFrame_jButton2_actionAdapterimplementsjava.awt.event.ActionListener{
WelcomeFrame_jButton2_actionAdapter(WelcomeFrameadaptee){
adaptee.jButton2_actionPerformed(e);
classWelcomeFrame_jButton5_actionAdapterimplementsjava.awt.event.ActionListener{
WelcomeFrame_jButton5_actionAdapter(WelcomeFrameadaptee){
adaptee.jButton5_actionPerformed(e);
2.12个人信息管理模块
功能:
对学生个人信息进行管理,并且具有查询,删除,修改,插入等功能。
代码如下:
Fontf=newjava.awt.Font("
SansSerif"
0,12);
UIManager.put("
Label.font"
f);
Label.foreground"
Color.black);
Button.font"
Menu.font"
MenuItem.font"
List.font"
CheckBox.font"
RadioButton.font"
ComboBox.font"
UIManager.put("
TextArea.font"
dbTextArea.font"
font"
MainFramemainFrame=newMainFrame();
mainFrame.setFont(newjava.awt.Font("
0,12));
mainFrame.pack();
mainFrame.setSize(600,450);
mainFrame.show();
font1=newjava.awt.Font("
this.getContentPane().setLayout(paneLayout1);
jdbNavToolBar1.setDebugGraphicsOptions(0);
jdbNavToolBar1.setAlignment(FlowLayout.CENTER);
jPanel5.setLayout(borderLayout2);
database1.setConnection(newcom.borland.dx.sql.dataset.ConnectionDescriptor("
jdbc:
microsoft:
sqlserver:
//localhost:
1433;
databaseName=student"
"
sa"
false,"
com.microsoft.jdbc.sqlserver.SQLServerDriver"
database1.setDatabaseName("
"
jPanel6.setFont(newjava.awt.Font("
jPanel6.setMinimumSize(newDimension(50,100));
jPanel6.setPreferredSize(newDimension(50,110));
jPanel6.setLayout(borderLayout3);
jPanel7.setFont(newjava.awt.Font("
jPanel7.setMinimumSize(newDimension(100,30));
jPanel7.setPreferredSize(newDimension(100,40));
jPanel7.setLayout(flowLayout1);
jPanel8.setFont(newjava.awt.Font("
jPanel8.setMinimumSize(newDimension(10,10));
jPanel8.setLayout(gridBagLayout2);
jLabel1.setText("
学号:
flowLayout1.setAlignment(FlowLayout.LEFT);
jLabel2.setHorizontalAlignment(SwingConstants.RIGHT);
jLabel2.setText("
姓名:
jLabel3.setHorizontalAlignment(SwingConstants.RIGHT);
jLabel3.setText("
性别:
jLabel4.setHorizontalAlignment(SwingConstants.RIGHT);
jLabel4.setText("
班级:
jLabel5.setHorizontalAlignment(SwingConstants.RIGHT);
jLabel5.setText("
生日:
jLabel6.setHorizontalAlignment(SwingConstants.RIGHT);
jLabel6.setText("
电话:
jLabel7.setHorizontalAlignment(SwingConstants.RIGHT);
jLabel7.setText("
地址:
修改"
jButton1.addActionListener(newMainFrame_jButton1_actionAdapter(this));
取消"
jdbTable1.setFont(newjava.awt.Font("
jdbTable1.setDataSet(queryDataSet2);
jTabbedPane1.setFont(newjava.awt.Font("
jTabbedPane1.setMinimumSize(newDimension(500,194));
jTabbedPane1.setPreferredSize(newDimension(500,607));
queryDataSet2.setProvider(null);
queryDataSet2.setQuery(newcom.borland.dx.sql.dataset.QueryDescriptor(database1,"
SELECTstudent_info.student_id,student_info.student_name,student_info.student_class,student_info.stud"
+
"
ent_sex,student_info.student_birthday,student_info.student_tel,student_info.student_address"
FROMstudent.dbo.student_info"
null,true,Load.ALL));
column8.setCaption("
生日"
column8.setColumnName("
student_birthday"
column8.setDataType(com.borland.dx.dataset.Variant.TIMESTAMP);
column8.setDisplayMask("
yyyy-MM-dd"
column8.setEditMask("
column8.setSchemaName("
dbo"
colum