java实现科研信息管理系统

作者:pointer_y 时间:2022-05-13 02:49:41 

一、前言

本学期学习了JAVA语言,在学期的结束,写一个有操作界面,与数据库关联的管理系统,用来巩固自己本学习所学的知识。
用到的知识:JAVA基础,JAVA界面设计(GUI),Oracle数据库(需要掌握数据库的基本操作语句),链接数据库。
使用的开发工具:MyEclipse Professional 2014

二、设计

我们管理的属性有:项目编号,项目名称,参与人员,负责人,项目开始时间,结束时间。科研项目系统主要有四个功能,对科研项目的增加、删除、修改、查询。以及为增加系统安全性所设计的登陆模式。

2.1 增加:向数据库的表中增加科研项目的所有信息

java实现科研信息管理系统 

添加后在控制台使用SQL语句查找,验证是否已添加至数据库中。

java实现科研信息管理系统

2.2 查询:通过具有唯一性的项目编号查找该项目的所有信息

java实现科研信息管理系统

2.3 修改:根据项目编号选中要修改的项目,并重新输入项目信息进行修改

java实现科研信息管理系统 java实现科研信息管理系统

2.4 删除:通过具有唯一性的项目编号删除对应项目的所有信息

java实现科研信息管理系统

三、窗体源码

3.1 登录界面


package 科研信息管理系统;

import java.awt.*;
import java.awt.event.*;

import javax.swing.*;

public class LoginWindows extends Frame implements WindowListener,ActionListener
{
public Label lgLabel; //用户名标签
public Label pwdLabel; //密码标签
public TextField lgText; //用户名文本框
public TextField pwdText; //密码文本框
public Button lgBt;   //登录按钮
public Button quitBt;  //退出按钮

public LoginWindows()
 {
  super();
  this.setSize(400, 300);
  this.setTitle("科研信息管理系统");
  this.setLayout(null);

lgLabel=new Label();
  lgLabel.setText("登录账号:");
  lgLabel.setSize(60, 30);
  lgLabel.setLocation(70,70);

pwdLabel=new Label();
  pwdLabel.setText("密  码:");
  pwdLabel.setSize(60,30);
  pwdLabel.setLocation(70, 150);

lgText=new TextField();
  lgText.setSize(180, 30);
  lgText.setLocation(140, 70);

pwdText=new TextField();
  pwdText.setSize(180,30);
  pwdText.setLocation(140, 150);

lgBt=new Button();
  lgBt.setLabel("登录");
  lgBt.setSize(60,30);
  lgBt.setLocation(120, 220);

quitBt=new Button();
  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);

}
 public static void main(String args[])
 {
  LoginWindows main=new LoginWindows();

}
@Override
public void actionPerformed(ActionEvent e) {

Button bt=(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);
   // Sqlwindow sql=new Sqlwindow();
    WindowsView w=new WindowsView();
    w.SciencePro();

}
   else {
    JOptionPane.showMessageDialog(this, "没有权限");
   }
  }}}

@Override
public void windowOpened(WindowEvent e) {
 // TODO Auto-generated method busb

}

@Override
public void windowClosing(WindowEvent e) {
 // TODO Auto-generated method busb
 System.exit(0);
}

@Override
public void windowClosed(WindowEvent e) {
 // TODO Auto-generated method busb

}

@Override
public void windowIconified(WindowEvent e) {
 // TODO Auto-generated method busb

}

@Override
public void windowDeiconified(WindowEvent e) {
 // TODO Auto-generated method busb

}

@Override
public void windowActivated(WindowEvent e) {
 // TODO Auto-generated method busb

}

@Override
public void windowDeactivated(WindowEvent e) {
 // TODO Auto-generated method busb

}
}

3.2主窗体源码


package 科研信息管理系统;
import javax.swing.*;

import java.awt.*;
import java.awt.event.*;

import javax.swing.event.*;
import javax.swing.tree.*;

public class WindowsView implements TreeSelectionListener,ActionListener //窗口类
{
JFrame main;
JPanel leftPa;
JPanel upPa;
JPanel downPa;

///查询用控件
JLabel numLa; //通过项目编号查询
JTextField numTxt;
JButton numBt;

JTextField nameTxt; //显示项目名称的文本框
JTextField peopleTxt; //显示参与人员
JTextField principalTxt; //显示主要负责人
JTextField timeStartTxt; //显示开始时间的文本框
JTextField timeEndTxt; //显示预期结束时间的文本框

//增加用控件
JLabel anumLa;
JLabel anameLa;
JLabel apeopleLa;
JLabel aprincipalLa;
JLabel atimeStartLa;
JLabel atimeEndLa;

JTextField anumTxt;
JTextField anameTxt;
JTextField apeopleTxt;
JTextField aprincipalTxt;
JTextField atimeStartTxt;
JTextField atimeEndTxt;
JButton addBt;
JTable showTable;

//删除用控件
JLabel dnumLa;
JButton dnumBt;
JTextField dnumTxt;

//修改用控件
JLabel alnumLa;
JTextField allnumTxt;
JButton alseBt;
JButton alBt;

JLabel allnumLa;
JLabel alnameLa;
JLabel alpeopleLa;
JLabel alprincipalLa;
JLabel altimeStartLa;
JLabel altimeEndLa;
JTextField alnumTxt;
JTextField alnameTxt;
JTextField alpeopleTxt;
JTextField alprincipalTxt;
JTextField altimeStartTxt;
JTextField altimeEndTxt;

public void SciencePro()
{
 main=new JFrame();
 main.setSize(800,800);
 main.setTitle("科研信息管理");
 main.setLayout(null);

leftPa=new JPanel();
 leftPa.setSize(150, 600);
 leftPa.setLocation(0, 0);
 leftPa.setBackground(Color.white);
 initLeftPanel();
 main.add(leftPa);

upPa=new JPanel();
 upPa.setSize(650, 400);
 upPa.setLocation(150, 0);
 upPa.setBackground(Color.gray);
 main.add(upPa);

downPa=new JPanel();
 downPa.setSize(650, 400);
 downPa.setLocation(150, 400);
 downPa.setBackground(Color.orange);
 main.add(downPa);

main.setVisible(true);
}

private void initLeftPanel()
{
 String[] strs={"查询","增加","删除","修改"};
 JTree tree=new JTree(strs);
 tree.addTreeSelectionListener(this);
 leftPa.add(tree);
}

public void valueChanged(TreeSelectionEvent e)
{
 JTree tree=(JTree)e.getSource();
 DefaultMutableTreeNode selectionNode =(DefaultMutableTreeNode)tree.getLastSelectedPathComponent();
 String str=selectionNode.toString();
 if(str.equals("查询"))
 {
  initUpDownPaWhenSearch();
 }
 if(str.equals("增加"))
 {
  initUpDownPaWhenAdd();
 }
 if(str.equals("删除"))
 {
  initUpDownPaWhenDelete();
 }
 if(str.equals("修改"))
 {
  initUpDownPaWhenAlert();
 }
}

private void initUpDownPaWhenSearch()
{
 //清空上下面板上的控件
 upPa.removeAll();
 downPa.removeAll();
 //动态的加载上面板的控件
 upPa.setLayout(null);
 numLa=new JLabel();
 numLa.setText("请输入项目编号");
 numLa.setLocation(40, 60);
 numLa.setSize(100, 40);

numTxt=new JTextField();
 numTxt.setLocation(180, 60);
 numTxt.setSize(200, 30);

numBt=new JButton();
 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=new JTextField();
 nameTxt.setLocation(80, 50);
 nameTxt.setSize(300, 30);

peopleTxt=new JTextField();
 peopleTxt.setLocation(80, 100);
 peopleTxt.setSize(300, 30);

principalTxt=new JTextField();
 principalTxt.setLocation(80, 150);
 principalTxt.setSize(300, 30);

timeStartTxt=new JTextField();
 timeStartTxt.setLocation(80, 200);
 timeStartTxt.setSize(300, 30);

timeEndTxt=new JTextField();
 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();

}

public void actionPerformed(ActionEvent e)
{
 JButton bt=(JButton)e.getSource();
 //bt.addActionListener(this);
 if(bt.getText().equals("查询"))
 {
  if(numTxt.getText().equals(""))
  {
   JOptionPane.showMessageDialog(null, "请输入项目编号");
  }
  else
  {
   DealSearch deal=new DealSearch();
   String inf=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
  {
   ScienceProject s=new ScienceProject();
   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());
   DealAdd deal=new DealAdd();
   deal.add(s);
  }
 }
 if(bt.getText().equals("删除"))
 {
  if(Integer.parseInt(dnumTxt.getText())==0)
  {
   JOptionPane.showMessageDialog(null, "不能删除空的项目编号!!");
  }
  else
  {
   DealDelete deal=new DealDelete();
   deal.delete(Integer.parseInt(dnumTxt.getText().trim()));
  }
 }
 if(bt.getText().equals("提交"))
 {
  if(Integer.parseInt(allnumTxt.getText())==0)
  {
   JOptionPane.showMessageDialog(null, "不能修改空的项目编号!!");
  }
  else
  {
   DealSub deal=new DealSub();
   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
  {
   ScienceProject s=new ScienceProject();
   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());
   DealAlter deal=new DealAlter();
   deal.alter(s);
  }
 }
}

private void initUpDownPaWhenAdd()
{
 //清空上下面板上的控件
 upPa.removeAll();
 downPa.removeAll();
 //动态的加载上面板的控件
 upPa.setLayout(null);

anumLa=new JLabel();
 anumLa.setText("请输入要增加的项目编号");
 anumLa.setLocation(30, 50);
 anumLa.setSize(150, 40);

anumTxt=new JTextField();
 anumTxt.setLocation(200, 50);
 anumTxt.setSize(250, 30);

anameLa=new JLabel();
 anameLa.setText("请输入要增加的项目名称");
 anameLa.setLocation(30, 100);
 anameLa.setSize(150, 40);

anameTxt=new JTextField();
 anameTxt.setLocation(200, 100);
 anameTxt.setSize(250, 30);

apeopleLa=new JLabel();
 apeopleLa.setText("请输入项目参与人员");
 apeopleLa.setLocation(30, 150);
 apeopleLa.setSize(150, 40);

apeopleTxt=new JTextField();
 apeopleTxt.setLocation(200, 150);
 apeopleTxt.setSize(250, 30);

aprincipalLa=new JLabel();
 aprincipalLa.setText("请输入项目负责人");
 aprincipalLa.setLocation(30, 200);
 aprincipalLa.setSize(150, 40);

aprincipalTxt=new JTextField();
 aprincipalTxt.setLocation(200, 200);
 aprincipalTxt.setSize(250, 30);

atimeStartLa=new JLabel();
 atimeStartLa.setText("请输入项目开始时间");
 atimeStartLa.setLocation(30, 250);
 atimeStartLa.setSize(150, 40);

atimeStartTxt=new JTextField();
 atimeStartTxt.setLocation(200, 250);
 atimeStartTxt.setSize(250, 30);

atimeEndLa=new JLabel();
 atimeEndLa.setText("请输入项目结束时间");
 atimeEndLa.setLocation(30, 300);
 atimeEndLa.setSize(150, 40);

atimeEndTxt=new JTextField();
 atimeEndTxt.setLocation(200, 300);
 atimeEndTxt.setSize(250, 30);

addBt=new JButton();
 addBt.setText("新增");
 addBt.addActionListener(this);
 //addBt.addMouseListener(this);
 addBt.setLocation(250, 340);
 addBt.setSize(60, 30);

upPa.add(addBt);
 upPa.add(anumLa);
 upPa.add(anameLa);
 upPa.add(apeopleLa);
 upPa.add(aprincipalLa);
 upPa.add(atimeStartLa);
 upPa.add(atimeEndLa);
 upPa.add(anameTxt);
 upPa.add(anumTxt);
 upPa.add(apeopleTxt);
 upPa.add(aprincipalTxt);
 upPa.add(atimeStartTxt);
 upPa.add(atimeEndTxt);
 upPa.validate();
 upPa.repaint();

downPa.validate();
 downPa.repaint();
}

private void initUpDownPaWhenDelete()
{
 //清空上下面板上的控件
 upPa.removeAll();
 downPa.removeAll();
 //动态的加载上面板的控件
 upPa.setLayout(null);
 numLa=new JLabel();
 numLa.setText("请输入要删除的项目编号");
 numLa.setLocation(40, 60);
 numLa.setSize(150, 40);

dnumTxt=new JTextField();
 dnumTxt.setLocation(200, 60);
 dnumTxt.setSize(250, 30);

dnumBt=new JButton();
 dnumBt.setText("删除");
 dnumBt.addActionListener(this);
 dnumBt.setLocation(270, 170);
 dnumBt.setSize(60, 30);

upPa.add(numLa);
 upPa.add(dnumTxt);
 upPa.add(dnumBt);
 upPa.validate();
 upPa.repaint();

downPa.validate();
 downPa.repaint();
}

private void initUpDownPaWhenAlert()
{
 //清空上下面板上的控件
 upPa.removeAll();
 downPa.removeAll();
 //动态的加载上面板的控件
 upPa.setLayout(null);
 alnumLa=new JLabel();
 alnumLa.setText("请输入要修改的项目编号");
 alnumLa.setLocation(40, 60);
 alnumLa.setSize(150, 40);

alseBt=new JButton();
 alseBt.setText("提交");
 alseBt.addActionListener(this);
 alseBt.setLocation(270, 170);
 alseBt.setSize(60, 30);

allnumTxt=new JTextField();
 allnumTxt.setLocation(200, 60);
 allnumTxt.setSize(200, 30);

upPa.add(alnumLa);
 upPa.add(alseBt);
 upPa.add(allnumTxt);
 upPa.validate();
 upPa.repaint();

alBt=new JButton();
 alBt.setText("修改");
 alBt.addActionListener(this);
 alBt.setLocation(450, 170);
 alBt.setSize(60, 30);

/*  allnumLa=new JLabel();
 allnumLa.setText("请输入修改后的项目编号");
 allnumLa.setLocation(30, 00);
 allnumLa.setSize(150, 40);

alnumTxt=new JTextField();
 alnumTxt.setLocation(180, 00);
 alnumTxt.setSize(250, 30);*/

alnameLa=new JLabel();
 alnameLa.setText("请输入修改后项目名称");
 alnameLa.setLocation(30, 50);
 alnameLa.setSize(150, 40);

alnameTxt=new JTextField();
 alnameTxt.setLocation(180, 50);
 alnameTxt.setSize(250, 30);

alpeopleLa=new JLabel();
 alpeopleLa.setText("请重设参与人员");
 alpeopleLa.setLocation(30, 100);
 alpeopleLa.setSize(150, 40);

alpeopleTxt=new JTextField();
 alpeopleTxt.setLocation(180, 100);
 alpeopleTxt.setSize(250, 30);

alprincipalLa=new JLabel();
 alprincipalLa.setText("请重设项目负责人");
 alprincipalLa.setLocation(30, 150);
 alprincipalLa.setSize(150, 40);

alprincipalTxt=new JTextField();
 alprincipalTxt.setLocation(180, 150);
 alprincipalTxt.setSize(250, 30);

altimeStartLa=new JLabel();
 altimeStartLa.setText("请重设项目开始时间");
 altimeStartLa.setLocation(30, 200);
 altimeStartLa.setSize(150, 40);

altimeStartTxt=new JTextField();
 altimeStartTxt.setLocation(180, 200);
 altimeStartTxt.setSize(250, 30);

altimeEndLa=new JLabel();
 altimeEndLa.setText("请重设项目结束时间");
 altimeEndLa.setLocation(30, 250);
 altimeEndLa.setSize(150, 40);

altimeEndTxt=new JTextField();
 altimeEndTxt.setLocation(180, 250);
 altimeEndTxt.setSize(250, 30);
 downPa.add(alBt);
 //downPa.add(allnumLa);
 downPa.add(alnameLa);
 downPa.add(alpeopleLa);
 downPa.add(alprincipalLa);
 downPa.add(altimeStartLa);
 downPa.add(altimeEndLa);
 downPa.add(alnameTxt);
 //downPa.add(alnumTxt);
 downPa.add(alpeopleTxt);
 downPa.add(alprincipalTxt);
 downPa.add(altimeStartTxt);
 downPa.add(altimeEndTxt);
 downPa.setLayout(null);
 downPa.validate();
 downPa.repaint();
}
}

3.3 组织SQL语句,链接数据库部分


package 科研信息管理系统;
import java.sql.*;
import java.util.Scanner;

public class Sql {
public void AddScienceProject(ScienceProject scienceProject)
{
 try
 {
  Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
  String conStr="jdbc:oracle:thin:@localhost:1521:XE";
  Connection con=DriverManager.getConnection(conStr,"system","1");
  StringBuffer sql=new StringBuffer("insert into science values("+scienceProject.GetNum()+",'"+scienceProject.GetName()+"','"+scienceProject.GetPeople()+"','"+scienceProject.GetLeader()+"','"+scienceProject.GetTimeStart()+"','"+scienceProject.GetTimeFinish()+"')");

Statement st=con.createStatement();
  st.execute(sql.toString());
  st.close();
  con.close();
 }
 catch (Exception e)
 {
 // TODO: handle exception

System.out.println(e.toString());
 }
}
public void DelScienceProject(ScienceProject scienceProject)
{
 try
 {
 Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
 String conStr="jdbc:oracle:thin:@localhost:1521:XE";
 Connection con=DriverManager.getConnection(conStr,"system","1");
 StringBuffer sql=new StringBuffer("delete from science where num="+scienceProject.GetNum()+"");
 Statement st=con.createStatement();
 st.execute(sql.toString());
 st.close();
 con.close();
 }
 catch (Exception e)
 {
 // TODO: handle exception
 System.out.println(e.toString());
 }

}
public void UpdScienceProject(ScienceProject scienceProject)
{
 try
 {
 Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
 String conStr="jdbc:oracle:thin:@localhost:1521:XE";
 Connection con=DriverManager.getConnection(conStr,"system","1");
 StringBuffer sql =new StringBuffer("update science set name='"+scienceProject.GetName()+"',workpeople='"+scienceProject.GetPeople()+"',manager='"+scienceProject.GetLeader()+"',timestart='"+scienceProject.GetTimeStart()+"',timeend='"+scienceProject.GetTimeFinish()+"' where num="+scienceProject.GetNum()+"");
 Statement st=con.createStatement();
 st.execute(sql.toString());
 st.close();
 con.close();
 }
 catch (Exception e)
 {
 // TODO: handle exception
  System.out.println("修改异常");
 System.out.println(e.toString());
 }
}
public ScienceProject Findbynum(int num)
{
 ScienceProject scienceProject=new ScienceProject();
 try
 {
  Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
  String conStr="jdbc:oracle:thin:@localhost:1521:XE";
  Connection con=DriverManager.getConnection(conStr,"system","1");
  StringBuffer sql=new StringBuffer("select * from science where num="+num+"");
  Statement st=con.createStatement();
  ResultSet rs=st.executeQuery(sql.toString());
  while(rs.next())
  {
   scienceProject.SetNum(rs.getInt(1));
   scienceProject.SetName(rs.getString(2));
   scienceProject.SetPeople(rs.getString(3));
   scienceProject.SetLeader(rs.getString(4));
   scienceProject.SetTimeStart(rs.getString(5));
   scienceProject.SetTimeFinish(rs.getString(6));
  }
  st.close();
  con.close();
 }
 catch (Exception e) {
 // TODO: handle exception
 System.out.println(e.toString());
 }
return scienceProject;
}
public ScienceProject Look()
{
 ScienceProject scienceProject=new ScienceProject();
 try
  {
  Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
  String conStr="jdbc:oracle:thin:@localhost:1521:XE";
  Connection con=DriverManager.getConnection(conStr,"system","1");
  StringBuffer sql=new StringBuffer("select *from science");
  Statement st=con.createStatement();
  ResultSet rs=st.executeQuery(sql.toString());
  while(rs.next())
  {
   scienceProject.SetNum(rs.getInt(1));
   scienceProject.SetName(rs.getString(2));
   scienceProject.SetPeople(rs.getString(3));
   scienceProject.SetLeader(rs.getString(4));
   scienceProject.SetTimeStart(rs.getString(5));
   scienceProject.SetTimeFinish(rs.getString(6));
  }
  st.close();
  con.close();
}
 catch (Exception ex)
 {
 // TODO: handle exception
 System.out.println(ex.toString());
 }
return scienceProject;
}
public static void main(String args[])
{

}
}

3.4 增删查改对应处理的源码


//处理增加
package 科研信息管理系统;

import javax.swing.JOptionPane;

public class DealAdd
{
public DealAdd()
{}
public void add(ScienceProject s)
{
 Sql sql=new Sql();
 if(sql.Findbynum(s.GetNum()).GetNum()!=0)
 {
  JOptionPane.showMessageDialog(null, "该项目已存在,请重新输入!");
 }
 else
 {

sql.AddScienceProject(s);
  JOptionPane.showMessageDialog(null,"增加成功");
 }
}
}

由设计部分可以看到,删除时需要先提交项目编号,所以,需要处理提交事件


//处理提交
package 科研信息管理系统;

import javax.swing.JOptionPane;

public class DealSub
{
DealSub()
{}
public void submit(int num)
{
 Sql sql =new Sql();
 if(sql.Findbynum(num).GetNum()==0)
 {
  JOptionPane.showMessageDialog(null, "不存在该项目");
 }
 else
 {
  JOptionPane.showMessageDialog(null, "请在下方填写修改后的项目信息");
 }
}
}
//处理删除
package 科研信息管理系统;

import javax.swing.JOptionPane;

public class DealDelete
{
public DealDelete()
{}
public void delete(int num)
{
 ScienceProject s=new ScienceProject();
 Sql sql=new Sql();
 if(sql.Findbynum(num).GetNum()==0)
 {
  JOptionPane.showMessageDialog(null, "不存在该项目~");
 }
 else
 {
  s=sql.Findbynum(num);
  sql.DelScienceProject(s);
  JOptionPane.showMessageDialog(null, "删除成功~");
 }
}
}
//处理修改
package 科研信息管理系统;

import javax.swing.JOptionPane;

public class DealAlter
{
public DealAlter()
{}
public void alter(ScienceProject s)
{
 Sql sql=new Sql();
 sql.UpdScienceProject(s);
 JOptionPane.showMessageDialog(null,"修改成功");
}
}
//处理查询
package 科研信息管理系统;

public class DealSearch //处理查询事件
{
public DealSearch()
{}
public String findProByNum(int num)//通过项目编号查询
{
 String result="";
 ScienceProject s=new ScienceProject();
 Sql sql=new Sql();
 s=sql.Findbynum(num);
 result=s.GetNum()+","+s.GetName()+","+s.GetPeople()+","+s.GetLeader()+","+s.GetTimeStart()+","+s.GetTimeFinish();
 return result;
}
}

3.5 主函数调用登录窗口


package 科研信息管理系统;

public class Test {

public static void main(String[] args)
{
 LoginWindows v=new LoginWindows();

}

}

四、总结

还是有一些的缺陷存在的,由于对科研项目的不熟悉,有些属性设计得不合理,还有很多没有考虑到的地方,另外对GUI的不熟悉也限制了我们在窗口上的设计。还需要在项目属性及窗口等方面进行修改。

来源:http://blog.csdn.net/pointer_y/article/details/54381545

标签:java,管理系统
0
投稿

猜你喜欢

  • java中Object类4种方法详细介绍

    2023-11-03 16:06:12
  • java使用HashMap实现斗地主(有序版)

    2021-08-30 10:24:10
  • JAVA8 Stream流中的reduce()方法详解

    2023-09-01 21:10:33
  • 解析Java中未被捕获的异常以及try语句的嵌套使用

    2022-10-18 20:03:48
  • Java集合定义与用法实例总结【Set、List与Map】

    2023-11-21 08:26:40
  • 详解Spring MVC CORS 跨域

    2023-11-25 08:04:37
  • Java 异步编程实践_动力节点Java学院整理

    2023-06-18 17:04:12
  • java~springboot~ibatis数组in查询的实现方法

    2023-03-31 21:31:13
  • Spring Cloud Ribbon配置详解

    2023-11-25 01:32:50
  • 使用mybatis-plus的insert方法遇到的问题及解决方法(添加时id值不存在异常)

    2023-11-12 19:25:55
  • Java 二分查找算法的实现

    2022-07-23 11:10:13
  • SpringBoot中@Import注解如何正确使用

    2023-07-28 12:36:16
  • 我用java实现了王者荣耀的皮肤和英雄技能

    2022-01-13 13:44:09
  • 一文带你了解如何正确使用Java中的字符串常量池

    2022-07-13 01:35:30
  • java仿windows记事本小程序

    2023-11-25 09:24:43
  • springcloud-gateway整合jwt+jcasbin实现权限控制的详细过程

    2023-11-20 12:57:09
  • Java 线程池ExecutorService详解及实例代码

    2022-09-02 17:07:24
  • SpringMVC框架post提交数据库出现乱码解决方案

    2022-03-01 09:50:41
  • Java 获取网络302重定向URL的方法

    2022-03-25 15:19:46
  • 浅谈图片上传利用request.getInputStream()获取文件流时遇到的问题

    2023-10-18 10:36:43
  • asp之家 软件编程 m.aspxhome.com