Selasa, 19 Juli 2011

Combo Box Dinamis di JAVA

Combo Box dinamis di JAVA,,yah problem ini yang sudah membuat saya tiga jam di depan laptop kesayangan sejak bangun tidur pagi hari tadi. Pada kasus ini saya bermaksud untuk menampilkan list value combo box yang diambil langsung dari database MySQL. Kalau di php mungkin ini bukanlah hal yang sulit, tetapi setelah saya coba di java ternyata bisa dibilang sangat rumit sekali kalo ingin memebuat combo box dinamis yang langsung diambil dari database.
okee langsung saja  disini saya  menggunakan IDE NetBeans.
1. Langkah pertama saya membuat class Database yang digunakan untuk melakukan query ke database MySQL.
public class Database {


private String dbuser="root";
private String dbpass="";
private String url="jdbc:mysql://localhost/pt_inti11";
private String driver="org.gjt.mm.mysql.Driver";
private Statement stm=null;
private Connection con=null;
private ResultSet rs=null;
public Database() throws Exception{
    Class.forName(driver);
    con=DriverManager.getConnection(url,dbuser,dbpass);
    stm=con.createStatement();
}
public ResultSet GetData(String SQLString)throws Exception{
     rs=stm.executeQuery(SQLString);
     return rs;
}
public void Query(String SQLString)throws Exception{
    stm.executeUpdate(SQLString);
}
}
2. Kemudian kita buat Class TypeEntry, class ini digunakan sebagai class buffer sebelum nanti dimasukan pada combo box.
public class TypeEntry {
    private int  value;
    private String label;

    public TypeEntry(int id,String label){
        this.value= id;
        this.label = label;
    }

    public int getValue(){
        return this.value;

    }

    public String getLabel(){
        return this.label;
    }

}

3. Langkah yang ketiga kita edit combo box nya supaya menghasilkan value list yang dinamin. caranya klik kanan pada combo box kemudian pilih customize code. kemudian masukkan codingan berikut ini pada halaman tersebut.
jComboBox1 = new javax.swing.JComboBox();
jComboBox1.removeAllItems();
try {
Database data = new Database();
String q ="select id_permohonan,permohonan from permohonan"; 
ResultSet rs = data.GetData(q);
while (rs.next()){
 jComboBox1.addItem(new TypeEntry(rs.getInt(1),rs.getString(2).trim()).getLabel()); 

}
}
catch(Exception ex) {

}

Bisa dilihat pada code diatas bahwa di dalam customize code combo box akan dilakukan proses query ke database kemudian akan ditambilkan label yang saya inginkan. di codingan di atas juga terdapat proses pembentukan objek dari class TypeEntry dari class yang sudah saya buat sebelumnya, hal ini dikarenakan pada addItem hanya bisa menambahkan type Objek makanya kegunaan dari file TypeEntry tadi digunakan sebagai buffer untuk membentuk objek terlebih dahulu.

Mungkin ini dahulu code yang dapat saya share hari ini, yang sudah membuat kepala pusing tiga jam karena sering menemukan error-error.
Semoga bermanfaat....

Tidak ada komentar:

Popular Posts

Pages

Followers

Featured Posts