1. Prefacio
Aprendí el idioma de Java este semestre. Al final del semestre, escribí un sistema de gestión con una interfaz de operación y asociado con la base de datos para consolidar el conocimiento que aprendí en este estudio.
Conocimiento utilizado: Java Basics, Java Interface Design (GUI), Oracle Database (necesita dominar las declaraciones de operación básicas de la base de datos) y la base de datos de enlaces.
Herramientas de desarrollo utilizadas: Myeclipse Professional 2014
2. Diseño
Los atributos que administramos son: número de proyecto, nombre del proyecto, participante, persona a cargo, hora de inicio del proyecto y tiempo de finalización. El sistema de proyectos de investigación científica tiene cuatro funciones principales: la adición, eliminación, modificación y consulta de proyectos de investigación científica. Y el modo de inicio de sesión diseñado para aumentar la seguridad del sistema.
2.1 Agregar: Agregue toda la información sobre proyectos de investigación científica a la tabla de la base de datos
Después de agregar, use las declaraciones SQL para buscar en la consola para verificar que se haya agregado a la base de datos.
2.2 Consulta: encuentre toda la información sobre el proyecto mediante un número de proyecto único
2.3 Modificación: seleccione el proyecto que se modificará de acuerdo con el número de proyecto y vuelva a ingresar la información del proyecto para modificarlo
2.4 Eliminar: elimine toda la información del proyecto correspondiente a través de un número de proyecto único
3. Código fuente de formulario
3.1 Interfaz de inicio de sesión
Sistema de gestión de información de investigación científica de paquete; import java.awt.*; import java.awt.event.*; import javax.swing.*; clase public loginwindows extiende marco implementos windowListener, ActionListener {public etiqueta lglabel; // Etiqueta de usuario Public Label pwdlabel; // Contraseña etiqueta pública textfield lgText; // cuadro de texto de nombre de usuario Public Textfield pwdtext; // Cuadro de texto de contraseña botón público LGBT; // Botón de inicio de sesión Botón público Quitbt; // Botón de salida pública LoginWindows () {super (); this.setsize (400, 300); this.settitle ("Sistema científico de gestión de la información"); this.setLayout (nulo); lglabel = new Label (); lglabel.settext ("Cuenta de inicio de sesión:"); lglabel.setsize (60, 30); lglabel.setLocation (70, 70); pwdlabel = new Label (); pwdlabel.settext ("Password:"); 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 ("Login"); LGBT.SetSize (60, 30); LGBT.SetLocation (120, 220); quitbt = new Button (); quitbt.setLabel ("salida"); quitbt.setsize (60,30); quitbt.setLocation (220,220); quitbt.addactionListener (this); lgbt.addactionListener (this); this.addwindowlistener (esto); this.add (lglabel); this.add (pwdlabel); this.add (lgText); this.add (LGBT); this.add (quitbt); this.setVisible (verdadero); } 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 ("Exit")) {System.exit (0); } else {if ((lgtext.gettext (). Equals ("")) || (pwdtext.gettext (). Equals (""))) {joptionPane.showMessageDialog (esta, "cuenta o contraseña está vacía"); } else {if ((lgText.gettext (). Equals ("admin")) && (pwdtext.gettext (). Equals ("111"))) //if(lgText.gettext (). Equals ("" ")) || (pwdtext.gettext (). Equals (" ")) {this.setVisible (falso); // sqlwindow sql = new sqlwindow (); Windowsview w = new WindowsView (); W.SciencePro (); } else {joptionPane.showMessEdialog (esto, "sin permiso"); }}}} @Override public void Windowopened (WindowsEvent E) {// TODO Método generado automático Busb} @Override public void WindowClosing (WindowsEvent E) {// TODO Método generado automático BUSB System.Exit (0); } @Override public void WindowClosed (WindowsEvent e) {// TODO Método Generado automático Busb} @Override public void WindowseConified (WindowsEvent e) {// TODO Método Generado Auto Generado BUSTO} @Override public void WindowDeiconized (WindowEvent e) {// toDo Auto-Generado burbujas @override public VoidDeiconized (overRide publicidad (overeiconized (WindowVent e) {// aDO AUTO Generado burbunes} @override público WindowActivated (WindowsEvent E) {// TODO Método generado automático Busb} @Override Void WindowDeActivated (WindowsEvent E) {// TODO Método Generado automático buje}}3.2 Código fuente del formulario principal
Sistema de gestión de la información de investigación científica de paquete; import javax.swing.*; import java.awt.*; import java.awt.event.*; import javax.swing.event.*; import javax.swing.tree.*; Clase pública Windowsview implementa TreeSelectionListener, ActionListener // Clase de ventana {Jframe Main; JPanel Leftpa; Jpanel uppa; Jpanel Downpa; /// Control de consulta JLabel Numla; // consulta JTextfield numtxt; JButton numbt; Jtextfield nametxt; // Mostrar el cuadro de texto que muestra el nombre del proyecto JTextfield PeopLetxt; // Mostrar al participante JTextfield PrincipalTxt; // Mostrar a la persona principal a cargo JTextfield TimeStarttxt; // Mostrar el cuadro de texto que muestra la hora de inicio JTextfield TimeEndTxt; // Muestra el cuadro de texto que muestra el tiempo de finalización esperado // Agregar control JLabel Anumla; Jlabel Anamela; Jlabel Apeoplela; Jlabel Apincipalla; Jlabel Atimestartla; Jlabel Atimeendla; JTextfield anumtxt; Jtextfield anameTXT; Jtextfield apeopeopletxt; JTextfield Apincipaltxt; JTextfield AtImestarttxt; JTextfield ATIMEENDTXT; JButton AddBT; Jtable Showtable; // Eliminar el control JLabel Dnumla; JButton Dnumbt; Jtextfield dnumtxt; // Modificar el control JLabel Alnumla; JTextfield Allnumtxt; JButton AlseBT; Jlabel Allnumla; Jlabel Allnumla; Jlabel Alnamela; Jlabel Alpeoplela; Jlabel Alprincipalla; Jlabel Altimestartla; Jlabel alTimtimeendla; Jtextfield alnumtxt; Jtextfield alnametxt; Jtextfield alpeopletxt; JTextfield Alprincipaltxt; Jtextfield altimeStarttxt; Jtextfield altimeendtxt; public void SciencePro () {main = new Jframe (); Main.setsize (800,800); Main.settitle ("Gestión de la información de investigación científica"); main.setLayout (nulo); 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); 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 (verdadero); } private void initleftpanel () {string [] strs = {"consulta", "agregar", "eliminar", "modificar"}; JTree Tree = new Jtree (Strs); árbol.AddtreeSelectionListener (esto); Leftpa.add (árbol); } public void valueChanged (TreeSelectionEvent e) {jtree tree = (jtree) e.getSource (); DefaultMutableTreenode selectionNode = (defaultMutableTreenode) tree.getLastSelectedPathComponent (); Cadena str = selectionNode.ToString (); if (str.equals ("consulta")) {initupDownpawhensearch (); } if (str.equals ("add")) {initUpDownpawhenadd (); } if (str.equals ("delete")) {initupDownpawhendelete (); } if (str.equals ("modify")) {initupdownpawhenalert (); }} private void initupdownpawhensearch () {// claro UPPA.REMOVEALL (); downpa.removeall (); // Cargar dinámicamente los controles en los paneles superiores e inferiores UPPA.SetLayout (NULL); numLA = new JLabel (); numla.settext ("Ingrese el número de proyecto"); numla.setLocation (40, 60); numla.setsize (100, 40); numTxt = new JTextField (); numtxt.setLocation (180, 60); numtxt.setsize (200, 30); numBT = new JButton (); numBT.SetText ("Query"); 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); // Cargar dinámicamente el control del panel 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); timStartTxt = new JTextField (); timestarttxt.setLocation (80, 200); timestarttxt.setsize (300, 30); TimeEndTxt = new JTextField (); TimeEdtxt.setLocation (80, 250); TimeEdtxt.setsize (300, 30); downpa.setLayout (nulo); 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 ("Query")) {if (numtxt.gettext (). Equals ("")) {jOptionPane.showMessEdialog (nulo, "Ingrese el número de proyecto"); } else {DealSearch Deal = New DealSearch (); String inf = trate.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 (). igual ("nuevo")) {if (anumtxt.gettext (). Equals ("") || anametxt.gettext (). Equals ("") || apopeopletx.gettext (). Equals ("") || apinCipalTxt.gettext (). Equals ("" ") || atimestarttxt.gettext (). Equals (") || atimeendtxt.gettext (). ")") "). {JOpttionPane.ShowMessEdialog (nulo, "¡No puede haber un valor nulo en la entrada!"); } else {ScienceProject s = new ScienceProject (); S.SetNum (Integer.ParseInt (anumtxt.gettext ())); s.setName (nametxt.gettext ()); s.setPeople (apeopeTletXt.gettext ()); s.setLeader (apincipaltxt.gettext ()); S.SettimeStart (AtImestarttxt.gettext ()); S.SetTimeFinish (ATIMEENDTXT.GETTEXT ()); Dealadd Deal = New Dealadd (); Deal.Add (s); }} if (bt.gettext (). Equals ("delete")) {if (integer.parseInt (dnumtxt.gettext () == 0) {joptionPane.showMessageDialog (nulo, "¡¡¡¡¡¡¡¡¡¡¡”); } else {DealDelete Deal = new DeAlDelete (); Deal.Delete (Integer.ParseInt (dnumtxt.gettext (). Trim ())); }} if (bt.gettext (). Equals ("enviar")) {if (integer.ParseInt (allNumtxt.gettext ()) == 0) {joptionPane.showMessEdialog (nulo, "el número de proyecto vacío no se puede modificar !!"); } else {DealSub Deal = New DealSub (); Deal.submit (Integer.ParseInt (allNumtxt.gettext ())); }} if (bt.gettext (). Equals ("modificar")) {if (alnametxt.gettext (). Equals ("") || alpeopletx.gettext (). Equals ("") || Alprincipaltxt.gettext (). Equals ("") || Altimestarttxt.gettext (). Equals ("") || Altimeendtxt.gettext (). Equals (") {) {{] {] JOpttionPane.ShowMessEdialog (NULL, "¡No puede haber un valor nulo en la entrada!"); } else {ScienceProject s = new ScienceProject (); S.SetNum (Integer.ParseInt (allNumTxt.gettext ())); s.setName (alnametxt.gettext ()); s.setPeople (alpeopletxt.gettext ()); s.setLeader (alpriCipalTxt.gettext ()); S.SettimeStart (altimeStarttxt.gettext ()); S.SetTimeFinish (AlTimEENDTXT.GETTEXT ()); DealAlter Deal = new DealTalter (); Deal.alter (s); }}} private void initupdownpawhenadd () {// claro UPPA.REMOVEALL (); downpa.removeall (); // Carga dinámica del panel superior UPPA.SetLayout (NULL); anumla = new JLabel (); anumla.settext ("Ingrese el número de elemento que se agregará"); anumla.setLocation (30, 50); anumla.setsize (150, 40); anumtxt = new JTextField (); anumtxt.setLocation (200, 50); anumtxt.setsize (250, 30); anamela = new JLabel (); anamela.settext ("Ingrese el nombre del proyecto que se agregará"); anamela.setLocation (30, 100); anamela.setsize (150, 40); anameTXT = new JTextField (); anametxt.setLocation (200, 100); anametxt.setsize (250, 30); apeopLela = new JLabel (); apooplela.settext ("Ingrese al participante del proyecto"); apeoplela.setLocation (30, 150); apeoplela.setsize (150, 40); apeopeTletx = new JTextField (); apeopletxt.setLocation (200, 150); apeopeTletx.setsize (250, 30); aprincipalla = new JLabel (); aprincipalla.settext ("Por favor ingrese al líder del proyecto"); aprincipalla.setLocation (30, 200); aprincipalla.setsize (150, 40); apriCipAltxt = new JTextField (); Apercipaltxt.setLocation (200, 200); apriCipaltxt.setsize (250, 30); atimesteartla = new JLabel (); atimesteartla.settext ("Ingrese la hora de inicio del proyecto"); atimesteartla.setLocation (30, 250); Atimestartla.setsize (150, 40); atImestartTxt = new JTextField (); atimestettxt.setLocation (200, 250); atimestettxt.setsize (250, 30); ateMeENDLA = new JLabel (); ateMeENDLA.SETTEXT ("Ingrese la hora de finalización del proyecto"); atimeendla.setLocation (30, 300); atimeendla.setsize (150, 40); ATIMEENDTXT = new JTextField (); ATIMEENDTXT.SetLocation (200, 300); ATIMEENDTXT.setsize (250, 30); addBT = new JButton (); addbt.setText ("nuevo"); addBT.AddactionListener (esto); //addbt.addmouselistener(this); addBT.SetLocation (250, 340); addbt.setsize (60, 30); UPPA.Add (addBT); uppa.add (anumla); UPPA.Add (Namela); UPPA.Add (apooplela); UPPA.Add (apincipalla); UPPA.Add (Atimestartla); UPPA.Add (AtimeEndla); UPPA.Add (ATIMETXT); uppa.add (anumtxt); UPPA.Add (apeopeTletXt); UPPA.Add (apincipaltxt); UPPA.Add (ATIMESTARTTTX); UPPA.Add (ATIMEENDTXT); UPPA.Validate (); uppa.Repaint (); downpa.validate (); downpa.Repaint (); downpa.Repaint (); } private void initupdownpawhendelete () {// claro uppa.removeall (); downpa.removeall (); // Cargar dinámicamente el control del panel superior UPPA.SetLayout (NULL); numLA = new JLabel (); numla.settext ("Ingrese el número de elemento que se eliminará"); numla.setLocation (40, 60); numla.setsize (150, 40); dnumtxt = new JTextField (); dnumtxt.setLocation (200, 60); dnumtxt.setsize (250, 30); dnumbt = new JButton (); dnumbt.settext ("eliminar"); dnumbt.addactionListener (esto); 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 () {// despejar uppa.removeall () en los paneles superiores e inferiores; downpa.removeall (); // Cargar dinámicamente el control del panel superior UPPA.SetLayout (NULL); alnumla = new JLabel (); alnumla.setText ("Ingrese el número de proyecto que se modificará"); Alnumla.setLocation (40, 60); Alnumla.setsize (150, 40); alseBT = new JButton (); alsebt.settext ("enviar"); alsebt.addactionListener (esto); 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 ("modificar"); Albt.AddactionListener (esto); Albt.SetLocation (450, 170); Albt.setsize (60, 30); /* allnumla = new JLabel (); allnumla.settext ("Ingrese el número de proyecto modificado"); allnumla.setLocation (30, 00); allnumla.setsize (150, 40); alnumTxt = new JTextField (); alnumtxt.setLocation (180, 00); alnumtxt.setsize (250, 30);*/ alnamela = new JLabel (); alnamela.setText ("Ingrese el nombre modificado del proyecto"); Alnamela.setLocation (30, 50); Alnamela. Setsize (150, 40); alnametxt = new JTextField (); alnametxt.setLocation (180, 50); alnametxt.setsize (250, 30); alpeoplela = new JLabel (); alpeoplela.settext ("por favor reinicie el participante"); alpeoplela.setLocation (30, 100); alpeoplela.setsize (150, 40); alPeopLetXt = new JTextField (); alpeopletx.setLocation (180, 100); alpeopletxt.setsize (250, 30); alprincipalla = new JLabel (); alprincipalla.settext ("Restablece el líder del proyecto"); Alprincipalla.setLocation (30, 150); Alprincipalla.setsize (150, 40); alprincipaltxt = new JTextField (); Alprincipaltxt.setLocation (180, 150); Alprincipaltxt.setsize (250, 30); altimeStartla = new JLabel (); altimeStartla.setText ("Restablezca la hora de inicio del proyecto"); AltimeStartla.SetLocation (30, 200); AltimeStartla.setsize (150, 40); altimeStarttxt = new JTextField (); AltimeStarttxt.setLocation (180, 200); AltimeStarttxt.setsize (250, 30); AlTimEENDLA = new JLabel (); AlTimEENDLA.SETTEXT ("Restablezca la hora de finalización del proyecto"); 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 (altimeTxt); //downpa.add(alnumtxt); downpa.add (alpeopletxt); downpa.add (alprincipaltxt); downpa.add (altimeStarttxt); downpa.add (AlTimEENDTXT); downpa.setLayout (nulo); downpa.validate (); downpa.Repaint (); }}3.3 Organizar declaraciones SQL y piezas de base de datos de enlaces
Sistema de gestión de la información de investigación científica de paquete; 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: delgada: @localhost: 1521: xe"; Conexión con = drivermanager.getConnection (construye, "sistema", "1"); Stringbuffer sql = new StringBuffer ("Inserte en la ciencia valores ("+ScienceProject.getNum ()+", '"+ScienceProject.getName ()+"', '"+ScienceProject.getPeople ()+"', '"+ScienceProject.getLeader ()+"', '"+ScienceProject.GetTimeStart ()+"', '"+ScienceProject.GetTimeFinish ()") ")"); Declaración st = con.createStatement (); St.Execute (SQL.ToString ()); St.Close (); con.close (); } Catch (Exception e) {// tODO: manejar System.out.println (e.ToString ()); }} public void delscienceProject (ScienceProject ScienceProject) {try {class.forname ("oracle.jdbc.driver.oracledriver"). newInStance (); String constr = "jdbc: oracle: delgada: @localhost: 1521: xe"; Conexión con = drivermanager.getConnection (construye, "sistema", "1"); StringBuffer sql = new StringBuffer ("Eliminar de la ciencia donde num ="+ScienceProject.getNum ()+""); Declaración st = con.createStatement (); St.Execute (SQL.ToString ()); St.Close (); con.close (); } Catch (Exception e) {// tODO: manejar System.out.println (e.ToString ()); }} public void UpscienceProject (ScienceProject ScienceProject) {try {class.forname ("oracle.jdbc.driver.oracledriver"). newInStance (); String constr = "jdbc: oracle: delgada: @localhost: 1521: xe"; Conexión con = drivermanager.getConnection (construye, "sistema", "1"); StringBuffer sql = new StringBuffer ("Actualizar el conjunto de ciencias name = '"+ScienceProject.getName ()+"', WorkPeople = '"+ScienceProject.getPeople ()+"', gerente = '"+ScienceProject.getLeader ()+"', timStart = '"+ScienceProject.GetTimStart ()+"', Timeend = '"+ScienceProject.GetTimefinish ()+" "" "" ". num = "+ScienceProject.getNum ()+" "); Declaración st = con.createStatement (); St.Execute (SQL.ToString ()); St.Close (); con.close (); } catch (Exception e) {// tODO: manejar excepción system.out.println ("modificar excepción"); System.out.println (e.ToString ()); }} Public ScienceProject findByNum (int num) {ScienceProject ScienceProject = new ScienceProject (); Pruebe {class.forname ("oracle.jdbc.driver.oracledriver"). NewInstance (); String constr = "jdbc: oracle: delgada: @localhost: 1521: xe"; Conexión con = drivermanager.getConnection (construye, "sistema", "1"); StringBuffer sql = new StringBuffer ("Seleccionar * de Science Where num ="+num+""); Declaración 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: manejar System.out.println (e.ToString ()); } return ScienceProject; } Public ScienceProject Look () {ScienceProject ScienceProject = new ScienceProject (); Pruebe {class.forname ("oracle.jdbc.driver.oracledriver"). NewInstance (); String constr = "jdbc: oracle: delgada: @localhost: 1521: xe"; Conexión con = drivermanager.getConnection (construye, "sistema", "1"); StringBuffer sql = new StringBuffer ("Seleccionar *de la ciencia"); Declaración 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: manejar System.out.println (ex.ToString ()); } return ScienceProject; } public static void main (string args []) {}}3.4 Agregar, eliminar, buscar y modificar el código fuente correspondiente
// Solucionar problemas de la adición del sistema de gestión de información de investigación científica de paquetes; 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.ShowMessEdialog (nulo, "Este proyecto ya existe, ¡vuelva a ingresar!"); } else {sql.addscienceProject (s); JOpttionPane.ShowMessEdialog (nulo, "addSuccess"); }}} Como se puede ver en la parte de diseño, el número de proyecto debe enviarse primero al eliminar, por lo que el evento de envío debe procesarse.
// procesar el sistema de gestión de información de investigación científica del paquete de envío; import javax.swing.JOptionPane; public class DealSub {DealSub () {} public void Subt (int num) {sql sql = new sql (); if (sql.findbynum (num) .getNum () == 0) {joptionPane.showMessEdialog (nulo, "Este proyecto no existe"); } else {joptionPane.ShowMessEdialog (nulo, "Complete la información modificada del proyecto a continuación"); }}} // procesar el sistema de gestión de información de investigación científica del paquete de deleción; 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.showMessEdialog (nulo, "El proyecto no existe ~"); } else {s = sql.findbynum (num); sql.delscienceProject (s); JOpttionPane.ShowMessEdialog (NULL, "Eliminar con éxito ~"); }}} // manejar y modificar el sistema de gestión de información de investigación científica de paquetes; import javax.swing.JOptionPane; public class DealAlter {public Dealter () {} public void alter (ScienceProject s) {sql sql = new sql (); sql.updscienceProject (s); JOptionPane.ShowMessEdialog (nulo, "modificarse con éxito"); }} // Sistema de gestión de la información de investigación científica de manejo y consulta; Public Class DealSearch // Eventos de manejo y consulta {Public DealSearch () {} public String FindProbynum (int num) // Consulta por número de proyecto {String result = ""; ScienceProject S = New ScienceProject (); Sql sql = new sql (); s = sql.findbynum (num); resultado = s.getNum ()+","+s.getName ()+","+s.getpeople ()+","+s.getLeader ()+","+s.gettimestart ()+","+s.gettimefinish (); resultado de retorno; }}3.5 Ventana de inicio de sesión de la llamada de la función principal
Sistema de gestión de la información de investigación científica de paquete; Prueba de clase pública {public static void main (string [] args) {LoginWindows v = new LoginWindows (); }}4. Resumen
Todavía hay algunos defectos. Debido a la falta de familiaridad con los proyectos de investigación científica, algunos atributos no son razonables, y hay muchas cosas que no se han considerado. Además, la falta de familiaridad con GUI también limita nuestro diseño en la ventana. También debe modificarse en términos de propiedades del proyecto y ventanas.
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.