Header Ads

NetBeans Project: Part-06 | Employee Management System

How to link jcombobox with database SQLite and Netbeans in Java
In this part of the project, we have selected Employee_info.java file to add appropriate codes to work the combo box. Let's see how it happens step by step. As in the previous cases, you can drag and drop a Combo Box in swing controls palette to Employee_info.java file. Then go to the source of that file.  

import java.sql.*;
import javax.swing.*;
import net.proteanit.sql.DbUtils;
import java.sql.PreparedStatement;

/* highlighted codes to view the names in the combo box */

public class Employee_info extends javax.swing.JFrame {
    Connection conn = null;
    ResultSet rs = null;
    Employee_info.PrepareStatement pst = null;
    /**
     * Creates new form Employee_info
     */
    public Employee_info() {
        initComponents();
        conn = javaconnect.ConnecrDb();
        Update_table();
        Fillcombo();
    }
    
    // METHOD
    private void Update_table(){
        try{
            PreparedStatement pst = conn.prepareStatement("SELECT * FROM employeeinfo");          
            rs = pst.executeQuery();
            table_employee.setModel(DbUtils.resultSetToTableModel(rs));
        } 
        catch(Exception e){
            JOptionPane.showMessageDialog(null, e);
        }
    }
    
    // METHOD TO COMBO BOX
    private void Fillcombo(){
        try{
            PreparedStatement pst = conn.prepareStatement("SELECT * FROM employeeinfo");          
            rs = pst.executeQuery();
            
            while(rs.next()){
                String name = rs.getString("name");
                ComboBox_name.addItem(name);
            }
        } 
        catch(Exception e){
            JOptionPane.showMessageDialog(null, e);
        }
    }
    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        jScrollPane1 = new javax.swing.JScrollPane();
        table_employee = new javax.swing.JTable();
        ComboBox_name = new javax.swing.JComboBox();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        table_employee.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null}
            },
            new String [] {
                "Title 1", "Title 2", "Title 3", "Title 4"
            }
        ));
        jScrollPane1.setViewportView(table_employee);

        ComboBox_name.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Bill", "Nayum" }));
        ComboBox_name.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                ComboBox_nameActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 375, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(ComboBox_name, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(15, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 106, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addComponent(ComboBox_name, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(0, 171, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>                        

    private void ComboBox_nameActionPerformed(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(Employee_info.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(Employee_info.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(Employee_info.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(Employee_info.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 Employee_info().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify                     
    private javax.swing.JComboBox ComboBox_name;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTable table_employee;
    // End of variables declaration                   

    private static class PrepareStatement {

        public PrepareStatement() {
        }
    }
}

Now you can view the names which have got from the database when you run the file and you can also add names as you wish using the properties option in Combo Box design. Go to the design and right click on the combo box which you have added. Then in pop up window you have to select model. At there you can add names.

In next part we will discuss about ‘solve database locked problem’ by using Java. If you have any doubts about the part – 06 please don’t hesitate to ask from iTech Digest | Thank you! See you on part - 07

No comments

Thank you very much for your ideas!