자바 과학 연구 정보 관리 시스템 실현
이번 학기 에 JAVA 언어 를 배 웠 습 니 다.학기 가 끝나 면 운영 인터페이스 가 있 고 데이터 베이스 와 관련 된 관리 시스템 을 써 서 자신 이 배 운 지식 을 공 고 히 합 니 다.
사용 한 지식:JAVA 기초,JAVA 인터페이스 디자인(GUI),Oracle 데이터베이스(데이터베이스 의 기본 조작 문 구 를 파악 해 야 함),데이터 베 이 스 를 연결 합 니 다.
사용 하 는 개발 도구:MyEclipse Professional 2014
디자인
저희 가 관리 하 는 속성 은 프로젝트 번호,프로젝트 이름,참여 자,책임자,프로젝트 시작 시간,종료 시간 입 니 다.과학 연구 프로젝트 시스템 은 주로 네 가지 기능 이 있 는데 과학 연구 프로젝트 의 증가,삭제,수정,조회 이다.시스템 보안 을 높이 기 위 한 로그 인 모드 입 니 다.
2.1 증가:데이터 뱅 크 의 표 에 과학 연구 프로젝트 의 모든 정 보 를 추가 합 니 다.
추가 후 콘 솔 에서 SQL 문 구 를 사용 하여 데이터베이스 에 추가 되 었 는 지 확인 합 니 다.
2.2 조회:유일한 항목 번 호 를 통 해 이 항목 의 모든 정 보 를 찾 습 니 다.
2.3 수정:항목 번호 에 따라 수정 할 항목 을 선택 하고 항목 정 보 를 다시 입력 하여 수정
2.4 삭제:유일한 항목 번 호 를 통 해 해당 항목 의 모든 정 보 를 삭제 합 니 다.
3.창 원본 코드
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 에 대한 익숙 하지 않 은 점도 우리 가 창문 에 있 는 디자인 을 제한 했다.프로젝트 속성 및 창 등에 대한 수정 도 필요 합 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.