0
  1. I am having trouble with my code in trying to get the table I created in MYSQL to display into a JFrame. Maybe I am doing this completely wrong. Can anyone show me where exactly I should be putting the line of code to get the database to load into the JFrame? Thank you. I would like to know the basics of connecting these systems together when creating such a project. I just need that little push taht I am stuck on. Once again I am not asking for anyone to completely give me the full code, I am just stuck with the lines of code and where to implement them.

       package com.mycompany.csis484project;
    
       import javax.swing.JFrame;
       import javax.swing.JOptionPane;
       import java.sql.Connection;
       import java.sql.DriverManager;
       import java.sql.PreparedStatement;
       import java.sql.ResultSet;
       import java.sql.ResultSetMetaData;
       import java.sql.SQLException;
       import javax.swing.JTable;
       import javax.swing.table.DefaultTableModel;
       import java.text.DateFormat;
       import java.text.MessageFormat;
       import java.text.SimpleDateFormat;
    
    
       public class EmployeeDatabase extends javax.swing.JFrame {
    
        Connection con;
    
           public EmployeeDatabase() {
               initComponents();
    
     String url="jdbc:mysql://localhost/employeedb";
     String user="root";
     String pass="Liberty";
     try{
         con=DriverManager.getConnection(url,user,pass);
     }catch (Exception ex){
         System.out.println("Error : " + ex.getMessage());
     }
    
           }
    
           @SuppressWarnings("unchecked")
           // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
           private void initComponents() {
    
     jPanel1 = new javax.swing.JPanel();
     jPanel2 = new javax.swing.JPanel();
     jPanel3 = new javax.swing.JPanel();
     jPanel6 = new javax.swing.JPanel();
     jPanel7 = new javax.swing.JPanel();
     jPanel8 = new javax.swing.JPanel();
     jLabel2 = new javax.swing.JLabel();
     jPanel9 = new javax.swing.JPanel();
     jPanel4 = new javax.swing.JPanel();
     jLabel3 = new javax.swing.JLabel();
     jtxtEmployeeID = new javax.swing.JTextField();
     jScrollPane1 = new javax.swing.JScrollPane();
     JTableE1 = new javax.swing.JTable();
     jLabel4 = new javax.swing.JLabel();
     jtxtWorkerType = new javax.swing.JTextField();
     jLabel5 = new javax.swing.JLabel();
     jtxtFirstName = new javax.swing.JTextField();
     jLabel6 = new javax.swing.JLabel();
     jtxtLastName = new javax.swing.JTextField();
     jtxtGender = new javax.swing.JTextField();
     jLabel7 = new javax.swing.JLabel();
     jtxtAge = new javax.swing.JTextField();
     jLabel8 = new javax.swing.JLabel();
     jtxtGroup = new javax.swing.JTextField();
     jLabel9 = new javax.swing.JLabel();
     jLabel10 = new javax.swing.JLabel();
     jtxtSeniority = new javax.swing.JTextField();
     jbtnClear = new javax.swing.JButton();
     jbtnAddNew = new javax.swing.JButton();
     jPanel10 = new javax.swing.JPanel();
     jbtnPrint = new javax.swing.JButton();
     jbtnDelete = new javax.swing.JButton();
     jbtnExit = new javax.swing.JButton();
     jbtnView = new javax.swing.JButton();
     jbtnUpdate1 = new javax.swing.JButton();
     jLabel1 = new javax.swing.JLabel();
    
     setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
     getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
    
     jPanel1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0), 8));
     jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
    
     jPanel2.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
    
     jPanel3.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(51, 51, 0), 8));
     jPanel3.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
     jPanel2.add(jPanel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(740, 180, 220, 580));
    
     jPanel6.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(51, 51, 0), 8));
     jPanel6.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
    
     jPanel7.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(51, 51, 0), 8));
     jPanel7.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
     jPanel6.add(jPanel7, new org.netbeans.lib.awtextra.AbsoluteConstraints(740, 180, 220, 580));
    
     jPanel2.add(jPanel6, new org.netbeans.lib.awtextra.AbsoluteConstraints(670, 170, 220, 580));
    
     jPanel8.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.LOWERED));
    
     jLabel2.setFont(new java.awt.Font("Times New Roman", 1, 48)); // NOI18N
     jLabel2.setText("EQ Employee Mangment System");
    
     javax.swing.GroupLayout jPanel8Layout = new javax.swing.GroupLayout(jPanel8);
     jPanel8.setLayout(jPanel8Layout);
     jPanel8Layout.setHorizontalGroup(
         jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
         .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel8Layout.createSequentialGroup()
             .addContainerGap(12, Short.MAX_VALUE)
             .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 713, javax.swing.GroupLayout.PREFERRED_SIZE)
             .addGap(21, 21, 21))
     );
     jPanel8Layout.setVerticalGroup(
         jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
         .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel8Layout.createSequentialGroup()
             .addContainerGap(16, Short.MAX_VALUE)
             .addComponent(jLabel2)
             .addGap(14, 14, 14))
     );
    
     jPanel2.add(jPanel8, new org.netbeans.lib.awtextra.AbsoluteConstraints(-10, 0, 750, 90));
    
     jPanel9.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(51, 51, 0), 8));
     jPanel9.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
     jPanel2.add(jPanel9, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 100, 740, 130));
    
     jPanel1.add(jPanel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(240, 10, 750, 90));
    
     jPanel4.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0), 3));
     jPanel4.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
    
     jLabel3.setFont(new java.awt.Font("Times New Roman", 1, 24)); // NOI18N
     jLabel3.setText("Employee ID");
     jPanel4.add(jLabel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 20, 170, 40));
    
     jtxtEmployeeID.addActionListener(new java.awt.event.ActionListener() {
         public void actionPerformed(java.awt.event.ActionEvent evt) {
             jtxtEmployeeIDActionPerformed(evt);
         }
     });
     jPanel4.add(jtxtEmployeeID, new org.netbeans.lib.awtextra.AbsoluteConstraints(170, 20, 210, 40));
    
     JTableE1.setFont(new java.awt.Font("Times New Roman", 0, 12)); // NOI18N
     JTableE1.setModel(new javax.swing.table.DefaultTableModel(
         new Object [][] {
    
         },
         new String [] {
             "EmployeeID", "Worker Type", "First Name", "Last Name", "Gender", "Age", "Group", "Seniority"
         }
     ));
     jScrollPane1.setViewportView(JTableE1);
    
     jPanel4.add(jScrollPane1, new org.netbeans.lib.awtextra.AbsoluteConstraints(390, 10, 580, 530));
    
     jLabel4.setFont(new java.awt.Font("Times New Roman", 1, 24)); // NOI18N
     jLabel4.setText("Worker Type");
     jPanel4.add(jLabel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 70, 170, 40));
    
     jtxtWorkerType.addActionListener(new java.awt.event.ActionListener() {
         public void actionPerformed(java.awt.event.ActionEvent evt) {
             jtxtWorkerTypeActionPerformed(evt);
         }
     });
     jPanel4.add(jtxtWorkerType, new org.netbeans.lib.awtextra.AbsoluteConstraints(170, 70, 210, 40));
    
     jLabel5.setFont(new java.awt.Font("Times New Roman", 1, 24)); // NOI18N
     jLabel5.setText("First Name");
     jPanel4.add(jLabel5, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 120, 170, 40));
    
     jtxtFirstName.addActionListener(new java.awt.event.ActionListener() {
         public void actionPerformed(java.awt.event.ActionEvent evt) {
             jtxtFirstNameActionPerformed(evt);
         }
     });
     jPanel4.add(jtxtFirstName, new org.netbeans.lib.awtextra.AbsoluteConstraints(170, 120, 210, 40));
    
     jLabel6.setFont(new java.awt.Font("Times New Roman", 1, 24)); // NOI18N
     jLabel6.setText("Last Name");
     jPanel4.add(jLabel6, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 170, 170, 40));
    
     jtxtLastName.addActionListener(new java.awt.event.ActionListener() {
         public void actionPerformed(java.awt.event.ActionEvent evt) {
             jtxtLastNameActionPerformed(evt);
         }
     });
     jPanel4.add(jtxtLastName, new org.netbeans.lib.awtextra.AbsoluteConstraints(170, 170, 210, 40));
    
     jtxtGender.addActionListener(new java.awt.event.ActionListener() {
         public void actionPerformed(java.awt.event.ActionEvent evt) {
             jtxtGenderActionPerformed(evt);
         }
     });
     jPanel4.add(jtxtGender, new org.netbeans.lib.awtextra.AbsoluteConstraints(170, 220, 210, 40));
    
     jLabel7.setFont(new java.awt.Font("Times New Roman", 1, 24)); // NOI18N
     jLabel7.setText("Gender");
     jPanel4.add(jLabel7, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 220, 170, 40));
    
     jtxtAge.addActionListener(new java.awt.event.ActionListener() {
         public void actionPerformed(java.awt.event.ActionEvent evt) {
             jtxtAgeActionPerformed(evt);
         }
     });
     jPanel4.add(jtxtAge, new org.netbeans.lib.awtextra.AbsoluteConstraints(170, 270, 210, 40));
    
     jLabel8.setFont(new java.awt.Font("Times New Roman", 1, 24)); // NOI18N
     jLabel8.setText("Age");
     jPanel4.add(jLabel8, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 270, 170, 40));
    
     jtxtGroup.addActionListener(new java.awt.event.ActionListener() {
         public void actionPerformed(java.awt.event.ActionEvent evt) {
             jtxtGroupActionPerformed(evt);
         }
     });
     jPanel4.add(jtxtGroup, new org.netbeans.lib.awtextra.AbsoluteConstraints(170, 320, 210, 40));
    
     jLabel9.setFont(new java.awt.Font("Times New Roman", 1, 24)); // NOI18N
     jLabel9.setText("Group");
     jPanel4.add(jLabel9, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 320, 170, 40));
    
     jLabel10.setFont(new java.awt.Font("Times New Roman", 1, 24)); // NOI18N
     jLabel10.setText("Seniority");
     jPanel4.add(jLabel10, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 370, 170, 40));
    
     jtxtSeniority.addActionListener(new java.awt.event.ActionListener() {
         public void actionPerformed(java.awt.event.ActionEvent evt) {
             jtxtSeniorityActionPerformed(evt);
         }
     });
     jPanel4.add(jtxtSeniority, new org.netbeans.lib.awtextra.AbsoluteConstraints(170, 370, 210, 40));
    
     jbtnClear.setBackground(new java.awt.Color(204, 204, 204));
     jbtnClear.setFont(new java.awt.Font("Times New Roman", 1, 24)); // NOI18N
     jbtnClear.setText("Clear");
     jbtnClear.addActionListener(new java.awt.event.ActionListener() {
         public void actionPerformed(java.awt.event.ActionEvent evt) {
             jbtnClearActionPerformed(evt);
         }
     });
     jPanel4.add(jbtnClear, new org.netbeans.lib.awtextra.AbsoluteConstraints(210, 450, 170, 50));
    
     jbtnAddNew.setBackground(new java.awt.Color(204, 204, 204));
     jbtnAddNew.setFont(new java.awt.Font("Times New Roman", 1, 24)); // NOI18N
     jbtnAddNew.setText("Add Data");
     jbtnAddNew.addActionListener(new java.awt.event.ActionListener() {
         public void actionPerformed(java.awt.event.ActionEvent evt) {
             jbtnAddNewActionPerformed(evt);
         }
     });
     jPanel4.add(jbtnAddNew, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 450, 170, 50));
    
     jPanel1.add(jPanel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 240, 980, 550));
    
     jPanel10.setBorder(javax.swing.BorderFactory.createEtchedBorder());
     jPanel10.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
    
     jbtnPrint.setBackground(new java.awt.Color(204, 204, 204));
     jbtnPrint.setFont(new java.awt.Font("Times New Roman", 1, 24)); // NOI18N
     jbtnPrint.setText("Print");
     jbtnPrint.addActionListener(new java.awt.event.ActionListener() {
         public void actionPerformed(java.awt.event.ActionEvent evt) {
             jbtnPrintActionPerformed(evt);
         }
     });
     jPanel10.add(jbtnPrint, new org.netbeans.lib.awtextra.AbsoluteConstraints(510, 20, 110, 80));
    
     jbtnDelete.setBackground(new java.awt.Color(204, 204, 204));
     jbtnDelete.setFont(new java.awt.Font("Times New Roman", 1, 24)); // NOI18N
     jbtnDelete.setText("Delete Info");
     jbtnDelete.addActionListener(new java.awt.event.ActionListener() {
         public void actionPerformed(java.awt.event.ActionEvent evt) {
             jbtnDeleteActionPerformed(evt);
         }
     });
     jPanel10.add(jbtnDelete, new org.netbeans.lib.awtextra.AbsoluteConstraints(350, 20, 150, 80));
    
     jbtnExit.setBackground(new java.awt.Color(204, 204, 204));
     jbtnExit.setFont(new java.awt.Font("Times New Roman", 1, 24)); // NOI18N
     jbtnExit.setText("Exit");
     jbtnExit.addActionListener(new java.awt.event.ActionListener() {
         public void actionPerformed(java.awt.event.ActionEvent evt) {
             jbtnExitActionPerformed(evt);
         }
     });
     jPanel10.add(jbtnExit, new org.netbeans.lib.awtextra.AbsoluteConstraints(630, 20, 110, 80));
    
     jbtnView.setBackground(new java.awt.Color(204, 204, 204));
     jbtnView.setFont(new java.awt.Font("Times New Roman", 1, 24)); // NOI18N
     jbtnView.setText("View Info");
     jbtnView.addActionListener(new java.awt.event.ActionListener() {
         public void actionPerformed(java.awt.event.ActionEvent evt) {
             jbtnViewActionPerformed(evt);
         }
     });
     jPanel10.add(jbtnView, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 20, 160, 80));
    
     jbtnUpdate1.setBackground(new java.awt.Color(204, 204, 204));
     jbtnUpdate1.setFont(new java.awt.Font("Times New Roman", 1, 24)); // NOI18N
     jbtnUpdate1.setText("Update Info");
     jbtnUpdate1.addActionListener(new java.awt.event.ActionListener() {
         public void actionPerformed(java.awt.event.ActionEvent evt) {
             jbtnUpdate1ActionPerformed(evt);
         }
     });
     jPanel10.add(jbtnUpdate1, new org.netbeans.lib.awtextra.AbsoluteConstraints(180, 20, 160, 80));
    
     jPanel1.add(jPanel10, new org.netbeans.lib.awtextra.AbsoluteConstraints(230, 110, 750, 120));
    
     jLabel1.setIcon(new javax.swing.ImageIcon("C:\\Users\\17026\\Pictures\\download.png")); // NOI18N
     jLabel1.setText("jLabel1");
     jPanel1.add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 10, 210, -1));
    
     getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 1000, 800));
    
               pack();
               setLocationRelativeTo(null);
           }// </editor-fold>                        
    
           private void jtxtEmployeeIDActionPerformed(java.awt.event.ActionEvent evt) {                                               
               // TODO add your handling code here:
           }                                              
    
           private void jtxtWorkerTypeActionPerformed(java.awt.event.ActionEvent evt) {                                               
               // TODO add your handling code here:
           }                                              
    
           private void jtxtFirstNameActionPerformed(java.awt.event.ActionEvent evt) {                                              
               // TODO add your handling code here:
           }                                             
    
           private void jtxtLastNameActionPerformed(java.awt.event.ActionEvent evt) {                                             
               // TODO add your handling code here:
           }                                            
    
           private void jtxtGenderActionPerformed(java.awt.event.ActionEvent evt) {                                           
               // TODO add your handling code here:
           }                                          
    
           private void jtxtAgeActionPerformed(java.awt.event.ActionEvent evt) {                                        
               // TODO add your handling code here:
           }                                       
    
           private void jtxtGroupActionPerformed(java.awt.event.ActionEvent evt) {                                          
               // TODO add your handling code here:
           }                                         
    
           private void jtxtSeniorityActionPerformed(java.awt.event.ActionEvent evt) {                                              
               // TODO add your handling code here:
           }                                             
    
           private void jbtnPrintActionPerformed(java.awt.event.ActionEvent evt) {                                          
               // TODO add your handling code here:
           }                                         
    
           private void jbtnDeleteActionPerformed(java.awt.event.ActionEvent evt) {                                           
               // TODO add your handling code here:
           }                                          
       private JFrame frame;
           private void jbtnExitActionPerformed(java.awt.event.ActionEvent evt) {                                         
           frame = new JFrame("Exit");
           if (JOptionPane.showConfirmDialog(frame, "Confirm, if you want to Exit?","Employee Mangement System",
               JOptionPane.YES_NO_OPTION)==JOptionPane.YES_OPTION);
    
               {
                   System.exit(0);
               }
           }                                        
    
           private void jbtnClearActionPerformed(java.awt.event.ActionEvent evt) {                                          
           jtxtEmployeeID.setText("");
           jtxtWorkerType.setText("");
           jtxtFirstName.setText("");
           jtxtLastName.setText("");
           jtxtGender.setText("");
           jtxtAge.setText("");
           jtxtGroup.setText("");
           jtxtSeniority.setText("");
           }                                         
    
           private void jbtnViewActionPerformed(java.awt.event.ActionEvent evt) {                                         
           String sql="SELECT * FROM tblemploy";
           try{
               PreparedStatement pst = con.prepareStatement(sql);
               ResultSet rs = pst.executeQuery();
               DefaultTableModel model = (DefaultTableModel) tblemploy.getModel;
               model.setRowCount(0);
               while(rs.next())
                   model.addRow(new String[]{rs.getString(1),rs.getString(2), rs.getString(3), rs.getString(4), rs.getString(5), rs.getString(6), rs.getString(7), rs.getString(8)});
           }catch (Exception ex){
                   System.out.println("Error : " + ex.getMessage());
           }                                        
    
           private void jbtnAddNewActionPerformed(java.awt.event.ActionEvent evt) {                                           
    
           }                                          
    
           private void jbtnUpdate1ActionPerformed(java.awt.event.ActionEvent evt) {                                            
               // TODO add your handling code here:
           }                                           
    
           /**
            * @param args the command line arguments
            */
           public static void main(String args[]) {
               /* Set the Nimbus look and feel */
               //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
               /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
                * For details see           http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
                */
                         try {
                   for (javax.swing.UIManager.LookAndFeelInfo info :           javax.swing.UIManager.getInstalledLookAndFeels()) {
                       if ("Nimbus".equals(info.getName())) {
                           javax.swing.UIManager.setLookAndFeel(info.getClassName());
                           break;
                       }
                   }
               } catch (ClassNotFoundException ex) {
                   java.util.logging.Logger.getLogger(EmployeeDatabase.class.getName()).log(java.util.logging.L          evel.SEVERE, null, ex);
               } catch (InstantiationException ex) {
         j   ava.util.logging.Logger.getLogger(EmployeeDatabase.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
     } catch (IllegalAccessException ex) {
         java.util.logging.Logger.getLogger(EmployeeDatabase.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
     } catch (javax.swing.UnsupportedLookAndFeelException ex) {
         java.util.logging.Logger.getLogger(EmployeeDatabase.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
     }
     //</editor-fold>
    
     /* Create and display the form */
     java.awt.EventQueue.invokeLater(new Runnable() {
         public void run() {
             new EmployeeDatabase().setVisible(true);
         }
     });
           }
    
           // Variables declaration - do not modify                     
           private javax.swing.JTable JTableE1;
           private javax.swing.JLabel jLabel1;
           private javax.swing.JLabel jLabel10;
           private javax.swing.JLabel jLabel2;
           private javax.swing.JLabel jLabel3;
           private javax.swing.JLabel jLabel4;
           private javax.swing.JLabel jLabel5;
           private javax.swing.JLabel jLabel6;
           private javax.swing.JLabel jLabel7;
           private javax.swing.JLabel jLabel8;
           private javax.swing.JLabel jLabel9;
           private javax.swing.JPanel jPanel1;
           private javax.swing.JPanel jPanel10;
           private javax.swing.JPanel jPanel2;
           private javax.swing.JPanel jPanel3;
           private javax.swing.JPanel jPanel4;
           private javax.swing.JPanel jPanel6;
           private javax.swing.JPanel jPanel7;
           private javax.swing.JPanel jPanel8;
           private javax.swing.JPanel jPanel9;
           private javax.swing.JScrollPane jScrollPane1;
           private javax.swing.JButton jbtnAddNew;
           private javax.swing.JButton jbtnClear;
           private javax.swing.JButton jbtnDelete;
           private javax.swing.JButton jbtnExit;
           private javax.swing.JButton jbtnPrint;
           private javax.swing.JButton jbtnUpdate1;
           private javax.swing.JButton jbtnView;
           private javax.swing.JTextField jtxtAge;
           private javax.swing.JTextField jtxtEmployeeID;
           private javax.swing.JTextField jtxtFirstName;
           private javax.swing.JTextField jtxtGender;
           private javax.swing.JTextField jtxtGroup;
           private javax.swing.JTextField jtxtLastName;
           private javax.swing.JTextField jtxtSeniority;
           private javax.swing.JTextField jtxtWorkerType;
           // End of variables declaration                   
       }
    

'''

  • 3
    Why did you write hundreds of lines of code first before testing? If your question is about displaying data in a JTable, then all you need to test this is a JFrame with your JTable added to the viewport of a JSCrollPane which is added to a JFrame, Then you load some hardcoded data into the JTable. Total test code should be about 20-30 lines of code. So simplify the code and you should be able to figure out where to place the code. Once this works, then you worry about the SQL. For example: https://stackoverflow.com/a/55635012/131872 – camickr May 19 '22 at 01:40
  • 1
    Refer to the following parts of Oracle's Java tutorials: [JDBC Database Access](https://docs.oracle.com/javase/tutorial/jdbc/index.html) and [Creating a GUI With Swing](https://docs.oracle.com/javase/tutorial/uiswing/index.html) – Abra May 19 '22 at 03:28
  • 1
    I recommend that you learn _Swing_ rather than use NetBeans GUI builder. – Abra May 19 '22 at 03:39

0 Answers0