一、前言

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

二、设计

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

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

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

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

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

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

三、窗体源码

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的不熟悉也限制了我们在窗口上的设计。还需要在项目属性及窗口等方面进行修改。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我。

java实现科研信息管理系统的更多相关文章

  1. Java 实现学生信息管理系统

    编写一个简单的学生管理信息系统. 在oracle中设计一张学生表,以学号作为关键字. 其他学生信息有:姓名.手机号. 在进入系统时,显示如下菜单: ************************** ...

  2. java开发学生信息管理系统的实现(简洁易懂),适合计算机专业学生参考,课程设计、毕业论文设计参考等

    编写一个简单的学生管理信息系统. 在oracle中设计一张学生表,以学号作为关键字. 其他学生信息有:姓名.手机号. 在进入系统时,显示如下菜单: ************************** ...

  3. JAVA之学生信息管理系统

    StudentManager系统 系统的数据: 变量 stunumber 为字符串类型 String,用于存储学生的学号(有 8 位数字组成) 变量 name 为字符串类型 String,用于存储学生 ...

  4. java开发就业信息管理系统

    本文实例为大家分享了java就业信息管理平台开发案例,供大家参考,具体内容如下 可查询公司信息,学生信息,班级信息,针对学生就业与否信息的统计,老师和管理员登录后的权限不同等就业信息管理平台想要实现的 ...

  5. java开发学生信息管理系统 源码

    开发环境:    Windows操作系统开发工具: Eclipse+Jdk+Tomcat+MYSQL数据库 运行效果图 源码及原文链接:https://javadao.xyz/forum.php?mo ...

  6. Android(java)学习笔记195:学生信息管理系统案例(SQLite + ListView)

    1.首先说明一个知识点,通常我们显示布局文件xml都是如下: setContentView(R.layout.activity_main): 其实每一个xml布局文件就好像一个气球,我们可以使用Vie ...

  7. Java课设(学生信息管理系统)

    1.团队课程设计博客链接 http://www.cnblogs.com/Min21/p/7064093.html 2.个人负责模板或任务说明 设计登陆界面和学生信息界面的设计,学生信息的显示.退出等功 ...

  8. Java用户名登录学生信息管理系统并对其进行增删改查操作

    package zzzzzzzz; import java.io.*;//作者:凯鲁嘎吉 - 博客园//http://www.cnblogs.com/kailugaji/ public class T ...

  9. Java之从头开始编写简单课程信息管理系统

    编写简单的课程管理系统对于新手并不友好,想要出色的完成并不容易以下是我的一些经验和方法 详情可参考以下链接: https://www.cnblogs.com/dream0-0/p/10090828.h ...

随机推荐

  1. android中判断一个链接是否是有效的

    private boolean isValid(String urlString) { try { URL url = new URL(urlString); return URLUtil.isVal ...

  2. 多测师讲解接口自动化测试 _requests_高级讲师肖sir

    rep=requests.post 错误方法: 1.在代理中---把高级中----代理-----去除勾选,调用失败

  3. python虚拟环境的配置-ubuntu 18.04后

    python虚拟环境的配置 安装相关包 pip install virtualenv pip install virtualenvwrapper 配置~/.bashrc 加入以下内容: ------- ...

  4. 【C语言C++编程学习笔记】基础语法,第一个简单的实例编程入门教程!

    C语言/C++编程学习:一个简单的实例 让我们来看一个简单的C语言程序.从下面的程序可以看出编写C语言程序的一些基本特征.   如果你能知道该程序将会在显示器上显示一些内容,那说明你还是知道一些的! ...

  5. rabbitmq之后台管理和用户设置

    前言 前面介绍了erlang环境的安装和rabbitmq环境安装,接下来介绍rabbitmq的web管理和用户设置. 启用后台管理插件 通过后台管理插件我们可以动态监控mq的流量,创建用户,队列等. ...

  6. spring boot:使用validator做接口的参数、表单、类中多字段的参数验证(spring boot 2.3.1)

    一,为什么要做参数验证? 永远不要相信我们在后端接收到的数据, 1,防止别人通过接口乱刷服务:有些不怀好意的人或机构会乱刷我们的服务,例如:短信接口, 相信大家可能很多人在工作中遇到过这种情况 2,防 ...

  7. PS矢量工具

    4.1PS矢量及位图 (1)位图就是像素图,由一个个像素点组成:矢量图是记录点到点的连线或者说程序算出来的图. (2)位图放大很多倍之后就会失真,可以看到像素点,类似于马赛克,所以有分辨率这一说. ( ...

  8. 今天 1024,为了不 996,Lombok 用起来以及避坑指南

    Lombok简介.使用.工作原理.优缺点 Lombok 项目是一个 Java 库,它会自动插入编辑器和构建工具中,Lombok 提供了一组有用的注解,用来消除 Java 类中的大量样板代码. 目录 L ...

  9. java程序练习:输入数字转换成中文输出(金额相关)

    //题目,做一个输入金额数字,输出转换成中文的金额名称.public class Test { public static void main(String[] args) { System.out. ...

  10. short i =1; i=i+1与short i=1; i+=1的区别

    很典型的一到JAVA 基础面试题,上次面试遇到的,现在记录一下. short i =1; i=i+1;short i=1;i+=1;这两有什么区别呢 ?对两个容量不一样的数据类型的变量进行算术运算时, ...