java程序设计课程论文

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

成绩
课程论文
题目:学生信息管理系统界面设计
课程名称:java程序设计
学生姓名:刘文璐
学生学号:**********
系别:电子工程学院
专业:通信工程
年级:2013级
任课教师:窦飞
电子工程学院制
2015年12月
学生信息管理系统界面设计
学生:刘文璐
指导教师:窦飞
电子工程学院通信工程专业
1、引言
学生信息管理系统以计算机为工具,将管理人员从繁琐的数据计算中解脱出来,全面的提高了管理的效率和质量,使得管理更加的规范和严谨。

世界处于信息化时代,人类的生活随着科技的发展越来越好,特别是计算机的出现,更加丰富了多姿多彩的生活。

作为新时代的大学生,要随时掌握和利用信息,辅之以科学文化知识,来适应社会发展的要求,将来为祖国奉献自己的一份力。

计算机Java语言是一门理论与实践共存的课程,但是更侧重于实践,因此,我们要将实践教学与理论教学达到密切结合。

2、Eclipse的介绍
Eclipse 是一个开放的、基于的可扩展开发平台。

就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。

幸运的是,Eclipse 附带了一个标准的插件集,包括Java(Java Development Kit,)。

Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。

由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。

3、学生信息管理系统界面设计方案制定
3.1系统总体设计方案
有新生来报到,要逐个录入其信息,如:学生姓名,性别,,出生日期,国籍。

要求设计链表类来实现,并统计学生人数。

文本界面为:
1.添加学生信息
2.删除学生信息
3.查询学生信息
4.修改学生信息
5.学生信息保存
6.退出
总体结构我们采取模块化方式进行程序设计,要求程序的功能设计、数据结构设计及整体结构设计合理。

系统以菜单界面方式进行,每一条记录包括一个学生的姓名、性别、出生日期、国籍。

同时,应具备以下功能:
1、删除功能:对指定学生的信息进行删除。

2、修改功能:对指定学生的信息进行修改。

3、查询功能:选择某种方式并输入该信息查询符合条件的学生信息。

4、添加功能:添加新增学生信息。

5、退出主菜单。

3.2模块设计
3.2.1增加学生信息
判断**学生是否存在,若存在则错误,不存在则添加。

具体流程如下图所示:
图1增加学生信息流程图
3.2.2删除学生信息
删除学生的信息则必须对链表结点进行删除意味着将某个要删除结点前后的连续打断,去掉该结点,使前后指针变量重新连接,完成链表结点的删除任务
图2删除学生信息流程图 3.3.3、查询学生信息 按学生学号查询
图3查询学生信息流程图
3.3.4、总功能模块图:
图4总功能模块图
5、运行结果与分析
图5 程序实现图
查询学生信息
图6查询学生信息界面图
添加学生信息
图7添加学生信息界面图
6、总结及心得体会
经过将近两个星期的设计和整理,课程设计也差不多弄好了。

在这段时间里,我们遇到了很多问题,学会了很多东西。

刚开始的时候,我们以为这个设计只是一个很实际的编程而已,但是,当自己真正动起手来编程的时候,我们才发现这个设计并没有想象中的那么简单。

做课程设计让我们对Java有了全新的认识,它不像原来我们以为的那么枯燥,反而变得很有趣,我们学到了很多在上课时见都没有见过的类和方法,这让我们对编程又有了许多新的想法和认识。

在这期末考试前期,学院给我们安排的课程设计周,总让我们觉的有些为难我们,这样一个复杂困难而又繁琐的作业,似乎弄得我们既没有时间也没有心情复习,我们曾一度地抱怨过学院,在完成它之后,我们发现我们错了,课程设计不仅让我们巩固了所学的知识,还使得我们学习到了更多平时所忽略的,最重要的是,它磨砺了我们,让我们在大学的下一个阶段能更好的成长。

7、参考文献
[1] 王昆,张力生.Java Swing中的渲染器机制.重庆工学学院报,2008.
[2] 吕校春,李玲莉.基于Swing的Java GUI组件开发[J].机械工程师,2008.
[3] 陆维厅,邵燕.基于JAVA的SOCKET实现网上交谈.河海常州分校学报,2005.
[4] 戴歆.JAVA Swing程序开发.软件导刊,2007.
[5] 莫足琴.基于Java Socket多客户端并发通信聊天程序的设计与实现.十堰职业技术学博士论文,2008.
[6] 王静,曲凤娟.基于Socket的多用户并发通信的设计[J].福建电脑,2007.
[7] 赵文清,姜波.基于Socket的Java语言网络通讯机制和程序设计.信息技术,2006.
[8] 温涛.工程概念.软件工程师,2006.
[10] 朗波.JAVA语言程序设计.清华大学出版社,2005.
8、附录
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;
//主函数、主要类
public class JCTX {
public static void main(String[] args) {
new Frm_Main();
}
}
// 实现类
class Frm_Main implements ActionListener // throws IOException
{
public JFrame frame;
public Container c;
public JMenuBar menuBar;
public JMenu mainMenu1;
public JMenu mainMenu2;
public JMenu mainMenu3;
public JMenuItem subMenu1[] = new JMenuItem[5];
public JMenuItem subMenu2[] = new JMenuItem[7];
public JMenuItem subMenu3[] = new JMenuItem[2];
JButton toolBarButton[] = new JButton[8];
public JToolBar toolBar;
String strTip[] = { "查询您要找的学生记录...", "添加学生记录...", "删除已有的学生记录", "修改学生记录...",
"使您修改的学生记录生效...", "使您添加的学生记录生效...", "确认删除当前记录...", "退出本系统:)" };
String id = new String();
String name = new String();
String sex = new String();
String birthday = new String();
String address = new String();
String birth = new String();
Connection conn;
ResultSet rs;
Statement st;
PreparedStatement pst;
public JLabel idL = new JLabel("学号:");
public JLabel nameL = new JLabel("姓名:");
public JLabel sexL = new JLabel("性别:");
public JLabel jlbirth = new JLabel("出生年月:");
public JLabel jladdr = new JLabel("籍贯:");
public JTextField idT = new JTextField();
public JTextField nameT = new JTextField();
public JTextField sexT = new JTextField();
public JTextField jtbirth = new JTextField();
public JTextField jtaddr = new JTextField();
public Frm_Main() {
frame = new JFrame("学生信息管理系统");
c = frame.getContentPane();
c.setLayout(null);
menuBar = new JMenuBar();
toolBar = new JToolBar();
toolBar.setFloatable(false);
frame.setJMenuBar(menuBar);
frame.setResizable(false);
mainMenu1 = new JMenu("管理");
String str1[] = { "添加用户", "删除用户", "查询用户", " ", "退出" };
for (int i = 0; i < 5; i++) {
if (i == 3)
mainMenu1.addSeparator();
else {
subMenu1[i] = new JMenuItem(str1[i]);
subMenu1[i].addActionListener(this);
mainMenu1.add(subMenu1[i]);
}
}
menuBar.add(mainMenu1);
mainMenu2 = new JMenu("维护学生信息");
String str2[] = { "查询记录", "添加记录", "删除记录", "修改记录", "提交修改", "提交添加",
"确认删除" };
for (int i = 0; i < 7; i++) {
subMenu2[i] = new JMenuItem(str2[i]);
subMenu2[i].addActionListener(this);
mainMenu2.add(subMenu2[i]);
}
menuBar.add(mainMenu2);
mainMenu3 = new JMenu("帮助");
String str3[] = { "帮助...", "关于..." };
for (int i = 0; i < 2; i++) {
subMenu3[i] = new JMenuItem(str3[i]);
subMenu3[i].addActionListener(this);
mainMenu3.add(subMenu3[i]);
}
menuBar.add(mainMenu3);
String strToolBar[] = { "查询", "添加", "删除", "修改", "提交修改", "提交添加", "确认删除" };
for (int i = 0; i < 7; i++) {
toolBarButton[i] = new JButton(strToolBar[i]);
toolBarButton[i].setToolTipText(strTip[i]);
toolBarButton[i].addActionListener(this);
toolBar.add(toolBarButton[i]);
}
toolBar.setLocation(0, 0);
toolBar.setSize(400, 30);
c.add(toolBar);
idL.setLocation(35, 40);
idL.setSize(40, 20);
// idL.setFont(new Font("宋体",Font.BOLD,12));
c.add(idL);
idT.setLocation(90, 40);
idT.setSize(200, 20);
// idT.setEnabled(false);
c.add(idT);
nameL.setLocation(35, 70);
nameL.setSize(40, 20);
c.add(nameL);
nameT.setLocation(90, 70);
nameT.setSize(200, 20);
c.add(nameT);
sexL.setLocation(35, 100);
sexL.setSize(40, 20);
c.add(sexL);
sexT.setLocation(90, 100);
sexT.setSize(200, 20);
c.add(sexT);
jlbirth.setLocation(35, 160);
jlbirth.setSize(40, 20);
c.add(jlbirth);
jtbirth.setLocation(90, 160);
jtbirth.setSize(200, 20);
c.add(jtbirth);
jladdr.setLocation(35, 190);
jladdr.setSize(40, 20);
c.add(jladdr);
jtaddr.setLocation(90, 190);
jtaddr.setSize(200, 20);
c.add(jtaddr);
JLabel information = new JLabel("");
information.setFont(new Font("宋体", Font.BOLD, 35));
information.setSize(380, 110);
information.setLocation(10, 210);
c.add(information);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 400);
frame.setLocation(200, 200);
frame.setVisible(true);
conDB();
}
// 以上是设置数据库面版、框架
// 以下是连接数据库
public Connection conDB() {
Connection con = null;
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
} catch (ClassNotFoundException e) {
}
try {
con = DriverManager.getConnection(
"jdbc:sqlserver://127.0.0.1:1433;databaseName=mysql", "sa",
"111");
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, "数据库连接失败");
}
return con;
}
// 以下是关闭数据库
public void closeDB() {
try {
pst.close();
conn.close();
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, "数据库关闭失败!");
}
}
// 以下是针对数据库的各种操作
public void actionPerformed(ActionEvent e) {
conn=conDB();
if (e.getSource() == subMenu3[1] || e.getSource() ==
toolBarButton[7])
JOptionPane.showMessageDialog(null, "");
if (e.getSource() == subMenu1[0] || e.getSource() == subMenu1[1] || e.getSource() == subMenu1[2])
JOptionPane.showMessageDialog(null, "");
// 查找功能的实现
if(e.getSource() == subMenu2[0] || e.getSource() == toolBarButton[0]) {
String idid = JOptionPane.showInputDialog("请输入要查找的学生学号");
if (idid.trim() != "") {
//String strSQL = "select * from student where id =’" + idid+ "’";
String strSQL = "select * from student where id =?" ;
try {
pst=conn.prepareStatement(strSQL);
pst.setString(1, idid);
rs=pst.executeQuery();
/*st=conn.createStatement();
rs = st.executeQuery(strSQL);*/
int count = 0;
while (rs.next()) {
id = rs.getString("id");
name = rs.getString("name");
address = rs.getString("address");
sex = rs.getString("sex");
birth=rs.getString("birthday");
count++;
}
if (count == 0)
JOptionPane.showMessageDialog(null, "对不起,没有您要查找的学生!");
else {
idT.setText(id);
nameT.setText(name);
sexT.setText(sex);
jtaddr.setText(address);
jtbirth.setText(birth);
}
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, "抱歉,程序出现异常!");
}
}
}
if (e.getSource() == subMenu1[4]) {
closeDB();
System.exit(0);
}
if(e.getSource() == subMenu2[1] || e.getSource() == toolBarButton[1]) {
JOptionPane.showMessageDialog(null, "请输入要添加的学生信息");
idT.setEnabled(true);
idT.setText("");
nameT.setText("");
sexT.setText("");
jtaddr.setText("");
jtbirth.setText("");
}
if(e.getSource() == toolBarButton[5] || e.getSource() == subMenu2[5]) {
if ((idT.getText().trim()).equals("")
|| (nameT.getText().trim()).equals("")
|| (sexT.getText().trim()).equals("")
|| (jtaddr.getText().trim()).equals("")
|| (jtbirth.getText().trim()).equals(""))
JOptionPane.showMessageDialog(null, "请输入信息再点击提交添加!");
else {
id = idT.getText();
name = nameT.getText();
sex = sexT.getText();
birthday = jtaddr.getText();
address = jtbirth.getText();
String strSQL = "insert into student values(?,?,?,?,?)";
try {
pst=conn.prepareStatement(strSQL);
pst.setString(1, id);
pst.setString(2, name);
pst.setString(3, sex);
pst.setString(4, address);
pst.setString(5, birthday);
pst.executeUpdate();
} catch (SQLException e1) {
// TODO Auto-generated catch block
//e1.printStackTrace();
JOptionPane.showMessageDialog(null, "数据库中已经存在您要添加的学生的学号!");
return;
}
/*try {
pst.executeUpdate(strSQL);
} catch (Exception exx) {
JOptionPane.showMessageDialog(null, "数据库中已经存在您要添加的学生的学号!");
* idT.setText(""); nameT.setText(""); sexT.setText("");
* birthdayT.setText(""); departmentT.setText("");
return;
}*/
JOptionPane.showMessageDialog(null, "恭喜您,添加成功了!");
}
}
if(e.getSource() == subMenu2[4] || e.getSource() == toolBarButton[4]) {
if ((idT.getText().trim()).equals("")
|| (nameT.getText().trim()).equals("")
|| (sexT.getText().trim()).equals("")
|| (jtaddr.getText().trim()).equals("")
|| (jtbirth.getText().trim()).equals("")) {
JOptionPane.showMessageDialog(null, "请输入信息再点击修改!");
return;
} else {
id = idT.getText();
name = nameT.getText();
sex = sexT.getText();
birthday = jtaddr.getText();
address = jtbirth.getText();
String strSQL = "update student set
name=?,sex=?,address=?,birthday=? where id=?";
try {
pst=conn.prepareStatement(strSQL);
pst.setString(1, name);
pst.setString(2, sex);
pst.setString(3, address);
pst.setString(4, birthday);
pst.setString(5, id);
pst.executeUpdate();
} catch (SQLException e1) {
// TODO Auto-generated catch block
// e1.printStackTrace();
JOptionPane.showMessageDialog(null, "数据库中已经存在您要修改的学生记录!");
return;
}
/*try {
pst.executeUpdate(strSQL);
} catch (Exception exx) {
JOptionPane.showMessageDialog(null, "数据库中已经存在您要修改的学生记录!");
* idT.setText(""); nameT.setText(""); sexT.setText("");
* birthdayT.setText(""); departmentT.setText("");
return;
}*/
JOptionPane.showMessageDialog(null, "恭喜您,修改成功了!");
}
}
if(e.getSource() == subMenu2[3] || e.getSource() == toolBarButton[3]) {
String idid = JOptionPane.showInputDialog("请输入要修改的学生学号");
if (idid.trim() != "") {
String strSQL = "select * from student where id =?" ;
try {
pst=conn.prepareStatement(strSQL);
pst.setString(1, idid);
// rs =
// st.executeQuery("select * from Coolboy where id
=’2004010123’");
rs = pst.executeQuery();
int count = 0;
while (rs.next()) {
id = rs.getString("id");
name = rs.getString("name");
address = rs.getString("address");
sex = rs.getString("sex");
birthday = rs.getString("birthday");
count++;
}
if (count == 0)
JOptionPane.showMessageDialog(null, "对不起,没有您要修改的学生信息!");
else {
idT.setText(id);
nameT.setText(name);
sexT.setText(sex);
jtaddr.setText(address);
jtbirth.setText(birthday);
idT.setEnabled(false);
}
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, "抱歉,程序出现异常!");
}
}
}
if(e.getSource() == subMenu2[2] || e.getSource() == toolBarButton[2]) {
String idDel = JOptionPane.showInputDialog("请输入要删除的学生学号");
if (idDel.trim() != "") {
String strSQL = "select * from student where id =?";
try {
pst=conn.prepareStatement(strSQL);
pst.setString(1, idDel);
rs = pst.executeQuery();
int count = 0;
while (rs.next()) {
id = rs.getString("id");
name = rs.getString("name");
address = rs.getString("address");
sex = rs.getString("sex");
birthday = rs.getString("birthday");
++count;
}
if (count == 0)
JOptionPane.showMessageDialog(null, "对不起,没有您要
删除的学生信息!");
else {
idT.setText(id);
nameT.setText(name);
sexT.setText(sex);
jtaddr.setText(address);
jtbirth.setText(birthday);
idT.setEnabled(false);
}
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, "抱歉,程序出现异常!");
}
}
}
if(e.getSource() == toolBarButton[6] || e.getSource() == subMenu2[6]) {
if ((idT.getText().trim()).equals("")
|| (nameT.getText().trim()).equals("")
|| (sexT.getText().trim()).equals("")
|| (jtaddr.getText().trim()).equals("")
|| (jtbirth.getText().trim()).equals("")) {
JOptionPane.showMessageDialog(null, "请点击删除记录按钮!");
return;
} else {
id = idT.getText();
String strSQL = "delete from student where id=?";
try {
pst=conn.prepareStatement(strSQL);
pst.setString(1, id);
pst.executeUpdate();
} catch (Exception exx) {
JOptionPane.showMessageDialog(null, "出错了!");
/*
* idT.setText(""); nameT.setText(""); sexT.setText("");
* birthdayT.setText(""); departmentT.setText("");
*/
return;
}
JOptionPane.showMessageDialog(null, "删除成功!");
}
}
} }。

相关文档
最新文档