Populate/Load Database Records into a Combobox using Java

Today, I will teach you how to load database records into a combobox using Java. 1. First create an access database file named sample.mdb same with the table and records below. design design 2. Create now a java program with a filename of PopulateComboBox.java. 3. Import the following libraries below.
  1. import java.awt.*;
  2. import java.awt.event.*;
  3. import java.io.*;
  4. import java.sql.*;
  5. import javax.swing.*;
  6. import java.util.*;
4. Initialize the following variables below. Most importantly we will have a combobox inside our form.
  1. JPanel panel1 = new JPanel();
  2.         JPanel panel2 = new JPanel();
  3.         JComboBox Names = new JComboBox();
  4.     Connection cn;
5. Create a class j2 that will serve as our main panel.
  1. class j2 extends JPanel
  2.         {  
  3.                 public j2()
  4.                         {  
  5.                         setLayout(new FlowLayout(0,0,0));
  6.                       setBackground(Color.black);
  7.                          
  8.                         }
  9.                         public void paint(Graphics g)
  10.                                 {
  11.                                         super.paint(g);
  12.                                        
  13.                                   g.setFont(new Font("Cooper Black",Font.BOLD,40));
  14.                                 g.drawString("Populate Combobox",60,70);
  15.                                 }
  16.                 public Dimension getPreferredSize(){return new Dimension(40,50);}      
  17.                              
  18.         }
6. Now, create a constructor named PopulateComboBox that is the same name with the filename. This will add the controls inside the panels and some important functions in the program.
  1.  public PopulateComboBox()
  2.     {
  3.        
  4.         super("Populate Combobox");
  5.         panel1.setLayout(new GridLayout(7,7));
  6.        
  7.         Names.setEditable(false);
  8.         add_Cat_combo(Names);
  9.             panel1.add(Names);
  10.          
  11.             panel1.setOpaque(true);
  12.                
  13.         getContentPane().setLayout(new GridLayout(3,1));
  14.         getContentPane().add(new j2(),"NORTH");
  15.         getContentPane().add(panel1,"CENTER");
  16.         getContentPane().add(panel2,"CENTER");
  17.         setDefaultCloseOperation(DISPOSE_ON_CLOSE);
  18.     };
7. Create a method named add_Cat_combo(JComboBox cmb). This will load the data in the database to the combobox and will connect into the sample.mdb as our database.
  1.    public void add_Cat_combo(JComboBox cmb)
  2.         {
  3.  
  4.                         try{
  5.                                 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
  6.                                 cn = DriverManager.getConnection("jdbc:odbc:Combobox");
  7.                         }catch(ClassNotFoundException e)  {
  8.                                 System.err.println("Failed to load driver");
  9.                                 e.printStackTrace();
  10.                         }
  11.                         catch(SQLException e){
  12.                                 System.err.println("Unable to connect");
  13.                                 e.printStackTrace();
  14.                         }
  15.             try{          
  16.                 Statement stmt = cn.createStatement();
  17.                 String query = "SELECT * FROM tblNames";
  18.                 ResultSet rs = stmt.executeQuery(query);            
  19.                 while (rs.next())
  20.                 {
  21.                         cmb.addItem(rs.getString("List_Name"));
  22.                        
  23.                 }      
  24.                         stmt.close();
  25.           }  
  26.         catch(Exception ex)
  27.           {    
  28.                 }                      
  29.     }
  30.  
8. Lastly, create your Main to set the size and location of the form.
  1.         public static void main(String []args){
  2.                 PopulateComboBox p1= new PopulateComboBox();
  3.                 p1.setSize(650,630);
  4.                 p1.setLocation(300,50);
  5.                 p1.setVisible(true);
  6.         p1.setResizable(false);
  7.         }
Output: output Here's the full code of this tutorial:
  1. import java.awt.*;
  2. import java.awt.event.*;
  3. import java.io.*;
  4. import java.sql.*;
  5. import javax.swing.*;
  6. import java.util.*;
  7.  
  8. public class PopulateComboBox extends JFrame{
  9.        
  10.         JPanel panel1 = new JPanel();
  11.         JPanel panel2 = new JPanel();
  12.         JComboBox Names = new JComboBox();
  13.     Connection cn;
  14.        
  15.       class j2 extends JPanel
  16.         {  
  17.                 public j2()
  18.                         {  
  19.                         setLayout(new FlowLayout(0,0,0));
  20.                       setBackground(Color.black);
  21.                          
  22.                         }
  23.                         public void paint(Graphics g)
  24.                                 {
  25.                                         super.paint(g);
  26.                                        
  27.                                   g.setFont(new Font("Cooper Black",Font.BOLD,40));
  28.                                 g.drawString("Populate Combobox",60,70);
  29.                                 }
  30.                 public Dimension getPreferredSize(){return new Dimension(40,50);}      
  31.                              
  32.         }
  33.     public PopulateComboBox()
  34.     {
  35.        
  36.         super("Populate Combobox");
  37.         panel1.setLayout(new GridLayout(7,7));
  38.        
  39.         Names.setEditable(false);
  40.         add_Cat_combo(Names);
  41.             panel1.add(Names);
  42.          
  43.             panel1.setOpaque(true);
  44.                
  45.         getContentPane().setLayout(new GridLayout(3,1));
  46.         getContentPane().add(new j2(),"NORTH");
  47.         getContentPane().add(panel1,"CENTER");
  48.         getContentPane().add(panel2,"CENTER");
  49.         setDefaultCloseOperation(DISPOSE_ON_CLOSE);
  50.     }
  51.    
  52.                        
  53.            public void add_Cat_combo(JComboBox cmb)
  54.         {
  55.  
  56.                         try{
  57.                                 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
  58.                                 cn = DriverManager.getConnection("jdbc:odbc:Combobox");
  59.                         }catch(ClassNotFoundException e)  {
  60.                                 System.err.println("Failed to load driver");
  61.                                 e.printStackTrace();
  62.                         }
  63.                         catch(SQLException e){
  64.                                 System.err.println("Unable to connect");
  65.                                 e.printStackTrace();
  66.                         }
  67.             try{          
  68.                 Statement stmt = cn.createStatement();
  69.                 String query = "SELECT * FROM tblNames";
  70.                 ResultSet rs = stmt.executeQuery(query);            
  71.                 while (rs.next())
  72.                 {
  73.                         cmb.addItem(rs.getString("List_Name"));
  74.                        
  75.                 }      
  76.                         stmt.close();
  77.           }  
  78.         catch(Exception ex)
  79.           {    
  80.                 }                      
  81.     }
  82.    
  83.  
  84.         public static void main(String []args){
  85.                 PopulateComboBox p1= new PopulateComboBox();
  86.                 p1.setSize(650,630);
  87.                 p1.setLocation(300,50);
  88.                 p1.setVisible(true);
  89.         p1.setResizable(false);
  90.         }
  91.        
  92.  
  93. }
For more inquiries and need programmer for your thesis systems in any kind of programming languages, just contact my number below. Best Regards, Engr. Lyndon Bermoy IT Instructor/System Developer/Android Developer/Freelance Programmer Mobile: 09488225971 Landline: 826-9296 E-mail:[email protected] Add and Follow me on Facebook: https://www.facebook.com/donzzsky Visit and like my page on Facebook at: https://www.facebook.com/BermzISware

Add new comment