java实现科研信息管理系统.docx
《java实现科研信息管理系统.docx》由会员分享,可在线阅读,更多相关《java实现科研信息管理系统.docx(33页珍藏版)》请在冰点文库上搜索。
java实现科研信息管理系统
java实现科研信息管理系统
这篇文章主要为大家详细介绍了java科研信息管理系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下:
一、前言
本学期学习了JAVA语言,在学期的结束,写一个有操作界面,与数据库关联的管理系统,用来巩固自己本学习所学的知识。
用到的知识:
JAVA基础,JAVA界面设计(GUI),Oracle数据库(需要掌握数据库的基本操作语句),链接数据库。
使用的开发工具:
MyEclipseProfessional2014
二、设计
我们管理的属性有:
项目编号,项目名称,参与人员,负责人,项目开始时间,结束时间。
科研项目系统主要有四个功能,对科研项目的增加、删除、修改、查询。
以及为增加系统安全性所设计的登陆模式。
2.1增加:
向数据库的表中增加科研项目的所有信息
添加后在控制台使用SQL语句查找,验证是否已添加至数据库中。
2.2查询:
通过具有唯一性的项目编号查找该项目的所有信息
2.3修改:
根据项目编号选中要修改的项目,并重新输入项目信息进行修改
2.4删除:
通过具有唯一性的项目编号删除对应项目的所有信息
运行图片:
上源码:
三、窗体源码
3.1登录界面
package科研信息管理系统;
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
publicclassLoginWindowsextendsFrameimplementsWindowListener,ActionListener
{
publicLabellgLabel;//用户名标签
publicLabelpwdLabel;//密码标签
publicTextFieldlgText;//用户名文本框
publicTextFieldpwdText;//密码文本框
publicButtonlgBt;//登录按钮
publicButtonquitBt;//退出按钮
publicLoginWindows()
{
super();
this.setSize(400,300);
this.setTitle("科研信息管理系统");
this.setLayout(null);
lgLabel=newLabel();
lgLabel.setText("登录账号:
");
lgLabel.setSize(60,30);
lgLabel.setLocation(70,70);
pwdLabel=newLabel();
pwdLabel.setText("密码:
");
pwdLabel.setSize(60,30);
pwdLabel.setLocation(70,150);
lgText=newTextField();
lgText.setSize(180,30);
lgText.setLocation(140,70);
pwdText=newTextField();
pwdText.setSize(180,30);
pwdText.setLocation(140,150);
lgBt=newButton();
lgBt.setLabel("登录");
lgBt.setSize(60,30);
lgBt.setLocation(120,220);
quitBt=newButton();
quitBt.setLabel("退出");
quitBt.setSize(60,30);
quitBt.setLocation(220,220);
quitBt.addActionListener(this);
lgBt.addActionListener(this);
this.addWindowListener(this);
this.add(lgLabel);
this.add(pwdLabel);
this.add(lgText);
this.add(pwdText);
this.add(lgBt);
this.add(quitBt);
this.setVisible(true);
}
publicstaticvoidmain(Stringargs[])
{
LoginWindowsmain=newLoginWindows();
}
@Override
publicvoidactionPerformed(ActionEvente){
Buttonbt=(Button)e.getSource();
if(bt.getLabel().equals("退出"))
{
System.exit(0);
}
else{
if((lgText.getText().equals(""))||(pwdText.getText().equals("")))
{
JOptionPane.showMessageDialog(this,"账号或密码为空");
}
else
{
if((lgText.getText().equals("admin"))&&(pwdText.getText().equals("111")))
//if((lgText.getText().equals(""))||(pwdText.getText().equals("")))
{
this.setVisible(false);
//Sqlwindowsql=newSqlwindow();
WindowsVieww=newWindowsView();
w.SciencePro();
}
else{
JOptionPane.showMessageDialog(this,"没有权限");
}
}}}
@Override
publicvoidwindowOpened(WindowEvente){
//TODOAuto-generatedmethodbusb
}
@Override
publicvoidwindowClosing(WindowEvente){
//TODOAuto-generatedmethodbusb
System.exit(0);
}
@Override
publicvoidwindowClosed(WindowEvente){
//TODOAuto-generatedmethodbusb
}
@Override
publicvoidwindowIconified(WindowEvente){
//TODOAuto-generatedmethodbusb
}
@Override
publicvoidwindowDeiconified(WindowEvente){
//TODOAuto-generatedmethodbusb
}
@Override
publicvoidwindowActivated(WindowEvente){
//TODOAuto-generatedmethodbusb
}
@Override
publicvoidwindowDeactivated(WindowEvente){
//TODOAuto-generatedmethodbusb
}
}
3.2主窗体源码:
package科研信息管理系统;
importjavax.swing.*;
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.event.*;
importjavax.swing.tree.*;
publicclassWindowsViewimplementsTreeSelectionListener,ActionListener//窗口类
{
JFramemain;
JPanelleftPa;
JPanelupPa;
JPaneldownPa;
///查询用控件
JLabelnumLa;//通过项目编号查询
JTextFieldnumTxt;
JButtonnumBt;
JTextFieldnameTxt;//显示项目名称的文本框
JTextFieldpeopleTxt;//显示参与人员
JTextFieldprincipalTxt;//显示主要负责人
JTextFieldtimeStartTxt;//显示开始时间的文本框
JTextFieldtimeEndTxt;//显示预期结束时间的文本框
//增加用控件
JLabelanumLa;
JLabelanameLa;
JLabelapeopleLa;
JLabelaprincipalLa;
JLabelatimeStartLa;
JLabelatimeEndLa;
JTextFieldanumTxt;
JTextFieldanameTxt;
JTextFieldapeopleTxt;
JTextFieldaprincipalTxt;
JTextFieldatimeStartTxt;
JTextFieldatimeEndTxt;
JButtonaddBt;
JTableshowTable;
//删除用控件
JLabeldnumLa;
JButtondnumBt;
JTextFielddnumTxt;
//修改用控件
JLabelalnumLa;
JTextFieldallnumTxt;
JButtonalseBt;
JButtonalBt;
JLabelallnumLa;
JLabelalnameLa;
JLabelalpeopleLa;
JLabelalprincipalLa;
JLabelaltimeStartLa;
JLabelaltimeEndLa;
JTextFieldalnumTxt;
JTextFieldalnameTxt;
JTextFieldalpeopleTxt;
JTextFieldalprincipalTxt;
JTextFieldaltimeStartTxt;
JTextFieldaltimeEndTxt;
publicvoidSciencePro()
{
main=newJFrame();
main.setSize(800,800);
main.setTitle("科研信息管理");
main.setLayout(null);
leftPa=newJPanel();
leftPa.setSize(150,600);
leftPa.setLocation(0,0);
leftPa.setBackground(Color.white);
initLeftPanel();
main.add(leftPa);
upPa=newJPanel();
upPa.setSize(650,400);
upPa.setLocation(150,0);
upPa.setBackground(Color.gray);
main.add(upPa);
downPa=newJPanel();
downPa.setSize(650,400);
downPa.setLocation(150,400);
downPa.setBackground(Color.orange);
main.add(downPa);
main.setVisible(true);
}
privatevoidinitLeftPanel()
{
String[]strs={"查询","增加","删除","修改"};
JTreetree=newJTree(strs);
tree.addTreeSelectionListener(this);
leftPa.add(tree);
}
publicvoidvalueChanged(TreeSelectionEvente)
{
JTreetree=(JTree)e.getSource();
DefaultMutableTreeNodeselectionNode=(DefaultMutableTreeNode)tree.getLastSelectedPathComponent();
Stringstr=selectionNode.toString();
if(str.equals("查询"))
{
initUpDownPaWhenSearch();
}
if(str.equals("增加"))
{
initUpDownPaWhenAdd();
}
if(str.equals("删除"))
{
initUpDownPaWhenDelete();
}
if(str.equals("修改"))
{
initUpDownPaWhenAlert();
}
}
privatevoidinitUpDownPaWhenSearch()
{
//清空上下面板上的控件
upPa.removeAll();
downPa.removeAll();
//动态的加载上面板的控件
upPa.setLayout(null);
numLa=newJLabel();
numLa.setText("请输入项目编号");
numLa.setLocation(40,60);
numLa.setSize(100,40);
numTxt=newJTextField();
numTxt.setLocation(180,60);
numTxt.setSize(200,30);
numBt=newJButton();
numBt.setText("查询");
numBt.addActionListener(this);
numBt.setLocation(250,160);
numBt.setSize(60,30);
upPa.add(numLa);
upPa.add(numTxt);
upPa.add(numBt);
upPa.validate();
upPa.repaint();
numBt.addActionListener(this);
//动态的加载下面板的控件
nameTxt=newJTextField();
nameTxt.setLocation(80,50);
nameTxt.setSize(300,30);
peopleTxt=newJTextField();
peopleTxt.setLocation(80,100);
peopleTxt.setSize(300,30);
principalTxt=newJTextField();
principalTxt.setLocation(80,150);
principalTxt.setSize(300,30);
timeStartTxt=newJTextField();
timeStartTxt.setLocation(80,200);
timeStartTxt.setSize(300,30);
timeEndTxt=newJTextField();
timeEndTxt.setLocation(80,250);
timeEndTxt.setSize(300,30);
downPa.setLayout(null);
downPa.add(nameTxt);
downPa.add(peopleTxt);
downPa.add(principalTxt);
downPa.add(timeStartTxt);
downPa.add(timeEndTxt);
downPa.validate();
downPa.repaint();
}
publicvoidactionPerformed(ActionEvente)
{
JButtonbt=(JButton)e.getSource();
//bt.addActionListener(this);
if(bt.getText().equals("查询"))
{
if(numTxt.getText().equals(""))
{
JOptionPane.showMessageDialog(null,"请输入项目编号");
}
else
{
DealSearchdeal=newDealSearch();
Stringinf=deal.findProByNum(Integer.parseInt(numTxt.getText().trim()));
if((inf!
=null)&&(!
inf.equals("")))
{
String[]strs=inf.split(",");
nameTxt.setText(strs[1]);
peopleTxt.setText(strs[2]);
principalTxt.setText(strs[3]);
timeStartTxt.setText(strs[4]);
timeEndTxt.setText(strs[5]);
}
}
}
if(bt.getText().equals("新增"))
{
if(anumTxt.getText().equals("")||anameTxt.getText().equals("")||apeopleTxt.getText().equals("")||aprincipalTxt.getText().equals("")||atimeStartTxt.getText().equals("")||atimeEndTxt.getText().equals(""))
{
JOptionPane.showMessageDialog(null,"输入中不能有空值!
!
");
}
else
{
ScienceProjects=newScienceProject();
s.SetNum(Integer.parseInt(anumTxt.getText()));
s.SetName(anameTxt.getText());
s.SetPeople(apeopleTxt.getText());
s.SetLeader(aprincipalTxt.getText());
s.SetTimeStart(atimeStartTxt.getText());
s.SetTimeFinish(atimeEndTxt.getText());
DealAdddeal=newDealAdd();
deal.add(s);
}
}
if(bt.getText().equals("删除"))
{
if(Integer.parseInt(dnumTxt.getText())==0)
{
JOptionPane.showMessageDialog(null,"不能删除空的项目编号!
!
");
}
else
{
DealDeletedeal=newDealDelete();
deal.delete(Integer.parseInt(dnumTxt.getText().trim()));
}
}
if(bt.getText().equals("提交"))
{
if(Integer.parseInt(allnumTxt.getText())==0)
{
JOptionPane.showMessageDialog(null,"不能修改空的项目编号!
!
");
}
else
{
DealSubdeal=newDealSub();
deal.submit(Integer.parseInt(allnumTxt.getText()));
}
}
if(bt.getText().equals("修改"))
{
if(alnameTxt.getText().equals("")||alpeopleTxt.getText().equals("")||alprincipalTxt.getText().equals("")||altimeStartTxt.getText().equals("")||altimeEndTxt.getText().equals(""))
{
JOptionPane.showMessageDialog(null,"输入中不能有空值!
!
");
}
else
{
ScienceProjects=newScienceProject();
s.SetNum(Integer.parseInt(allnumTxt.getText()));
s.SetName(alnameTxt.getText());
s.SetPeople(alpeopleTxt.getText());
s.SetLeader(alprincipalTxt.getText());
s.SetTimeStart(altimeStartTxt.getText());
s.SetTimeFinish(altimeEndTxt.getText());
DealAlterdeal=newDealAlter();
deal.alter(s);
}
}
}
privatevoidinitUpDownPaWhenAdd()
{
//清空上下面板上的控件
upPa.removeAll();
downPa.removeAll();
//动态的加载上面板的控件
upPa.setLayout(null);
anumLa=newJLabel();
anumLa.setText("请输入要增加的项目编号");
anumLa.setLocation(30,50);
anumLa.setSize(150,40);
anumTxt=newJTextField();
anumTxt.setLocation(200,50);
anumTxt.setSize(250,30);
anameLa=newJLabel();
anameLa.setText("请输入要增加的项目名称");
anameLa.setLocation(30,