Halaman

Jumat, 25 Februari 2011

ComboBox Dinamis dalam Java

Dalam pemrograman java kita telah disuguhkan dengan banyak fasilitas yang mendukung untuk membuat sebuah aplikasi yang profesional. Setiap membuat aplikasi window sering kali kita menggunakan komponen-komponen pendukung untuk mengontrol fungsi dari aplikasi atau mungkin hanya untuk sekedar menghiasi aplikasi. Adanya komponen-komponen di dalam aplikasi yang kita buat, sudah pasti akan menjadikan aplikasi tersebut menjadi lebih menarik dan interaktif.



Diawali dengan paket AWT (Abstract Window Toolkit) yang merupakan salah satu dari library class pada java atau biasa disebut dengan API (Aplication Programming Interface). Kemudian dilanjutkan dengan Swing yang juga merupakan library class pada java, dan banyak yang mengatakan bahwa swing merupakan perbaikan atau alternatif terhadap komponen-komponen yang ada pada AWT… sehingga kecenderungan user untuk menggunakan AWT lebih banyak…tapi dalam hal ini bukan berarti komponen AWT dianggap using..masih banyak juga komponen AWT yang belum tergantikan fungsinya…

Sekarang pembahasan kita lebih difokuskan dengan salah satu komponen pada Swing yang bernama JComboBox. Sebagaimana pada judul diatas yang dimaksud Dinamis yaitu data yang ditampilkan tidak statis, tapi bisa berubah-ubah dikarenakan data langsung diambil dari database. Jadi dalam tulisan kali ini penulis ingin menunjukkan bagaimana membuat sebuat JComboBox yang datanya bisa berubah-ubah berdasarkan data yang ada dalam database.

Penulis menggunakan netbeans untuk IDE. Pertama buat terlebih dahului frame sederhana dan letakkan JComboBox di dalamnya..kurang lebih seperti gambar dibawah ini…

Gambar 1 From sederhana dengan JComboBox di dalamnya

Setelah membuat sebuah frame dan JComboBox…lanjutkan dengan menulis di dalam source code sebuah method void untuk mengisi data pada JComboBox..

Berikut Source Code-nya :

void comboDatabase(){
  cb_Dinamis.removeAllItems();
  Statement statement = null;
  ResultSet rs = null;
  Connection conn = null;
  String url, user, pass;
  try { 
     Class.forName("com.mysql.jdbc.Driver").newInstance();
     url = "jdbc:mysql://localhost/dbpesantren";
     user="root";
     pass = "root";
     conn = DriverManager.getConnection(url,user,pass);
     statement = conn.createStatement();
     String sql = "Select NAMA_DONATUR from donatur";
     rs = statement.executeQuery(sql);
     while (rs.next()){
        String data = rs.getString("NAMA_DONATUR");
        cb_Dinamis.addItem(data);
        }             
      }catch (Exception e) {
            System.err.println("error di : "+e);
      }        
       finally{
            try {
                if (rs != null){
                    rs.close();
                }
            } catch (SQLException e) {
                System.err.println("rs error : "+e);
            }
            try {
                if (conn != null){
                    conn.close();
                }
            } catch (SQLException e) {
                System.err.println("conn error : "+e);
            }
        }
    }



Keterangan Source Code :

  1.  Diawali dengan cb_Dinamis sebagai nama variabel JComboBox. Sintax cb_Dinamis.removeAllItems(); berarti menghilangkan semua item yang ada pada JComboBox. Kemudian Dilanjutkan dengan Pendeklarasian variabel Statemen, ResultSet , dan Connection.
  2. Setelah pengaturan koneksi dan eksekusi sintak sql diatas..dilanjutkan dengan pengambilan data dari tabel berdasarkan nama kolom, yaitu pada sintak  String data = rs.getString("NAMA_DONATUR"); yang disimpan pada variabel data.
  3. Kemudian nilai dari variabel data langsung ditambahkan pada JComboBox dengan sintax berikut : cb_Dinamis.addItem(data);Penambahan data pada JComboBox akan terus dilakukan selama rs.next() masih bernilai true.

Setelah method diatas ditulis masukkan nama method tersebut pada constructor, agar bisa dieksekusi ketika aplikasi pertama kali berjalan…lebih jelasnya kurang lebih seperti gambar berikut :

Masukkan nama method comboDatabase() pada constructor

Setelah meletakkan nama method comboDatabase() pada constructor kemudian letakkan nama method tersebut pada PopMenuListener di JComboBox.. caranya yaitu klik kanan komponen JComboBox pada JFrame kemudian pilih events - PopupMenu – popupMenuWillBecomeVisible…Hingga muncul Method private void pada source code seperti pada gambar dibawah ini…

Method poupMenuWillBecomeVisible dengan nama method comboDatabase() di dalamnya.



Kemudian jalankan source code untuk melihat hasilnya...



Download pdfnya..