mengisi item combobox dari database menggunakan netbeans

:) :D

Daftar Materi Java SE

  • jangan lupa untuk menyesuaikan nama variable nya, jika anda bingung silahkan lihat materi berikut
  • lalu lihatlah bagian source dan tambahkan kode berikut, lengkapi kodenya
public class ComboBox extends javax.swing.JFrame {

    DefaultComboBoxModel<String> model = new DefaultComboBoxModel<>();
    Connection koneksi;

jika ada tanda pentung [!] di klik saja lalu import kelas yang belum ada,

  • oh iya jangan lupa menambahkan library driver mysql - jdbc dengan cara berikut
  • selanjutnya buatlah metode berikut ini untuk mengisi combobox dengan data dari database
public final void setModel(){
        try {
            Class.forName("com.mysql.jdbc.Driver");
            String url = "jdbc:mysql://localhost/inventaris_gudang"; //disesuaikan
            String user="alka";//disesuaikan
            String pass="alka";//disesuaikan
            koneksi = DriverManager.getConnection(url,user,pass);

            Statement st = koneksi.createStatement();
            ResultSet rs = st.executeQuery("select user_name from admin");
            while(rs.next()){
                model.addElement(rs.getString(1));
            }
        } catch (Exception e) {
            System.out.println("gagal");
        }
    }

method itu mengambil data lalu mengisikan data ke model dari combobox

  • lalu panggillah method nya di konstruktor seperti berikut ini
public ComboBox() {
        initComponents();
        setModel();
        combo.setModel(model);
    }
	

silahkan jalankan programmnya :) berikut ini tampilannya


:) :D 

Daftar Materi Java SE

 

About these ads

88 comments on “mengisi item combobox dari database menggunakan netbeans

  1. Ini kan kalo databasenya MySQL, nah kalo databasenya Ms.Access 2003 gimana ya gan? ane udah nyari keliling google gak nemu. :(

    Terus di desainnya, di bawahnya JComboBox ntar di tambahin TextField, muncul otomatis setelah klik JComboBox (baca tabel juga). Misalkan ane punya tabel..
    ——————————-
    Merk Harga
    ——————————-
    Avanza 350000
    Kijang 250000
    Xenia 400000

    Makasih gan!

    • - logic nya sama aja kok gan, cuma ganti jadi kayak gini misalnya
      public final void setModel(){
      try {
      Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
      String url = “jdbc:odbc:namaDatabasenya”; //disesuaikan
      String user=”alka”;//disesuaikan
      String pass=”alka”;//disesuaikan
      koneksi = DriverManager.getConnection(url);

      Statement st = koneksi.createStatement();
      ResultSet rs = st.executeQuery(“select user_name from table”);
      DefaultComboBoxModel model = new DefaultComboBoxModel();
      while(rs.next()){
      model.addElement(rs.getString(1));
      }
      combo.setModel(model);
      } catch (Exception e) {
      System.out.println(“gagal”);
      }
      }.

      selanjutnya sama saja, kan cuma masalah koneksinya saja.
      - untuk text fieldnya gini, kasih event di comboboxnya (ActionPerformed), misal kalo di netbeans klik kanan komponennya, lalu pilih events ->> actionPerfomed.
      - nanti kan ada method kosong tuh, disitu bisa di isi kodenya, misal nama textFieldnya adalah “text”
      - String textTerpilih = (String) comboBox.getSelectedItem();
      text.setText(textTerpilih);

      untuk koneksinya bisa lihat di http://mamanjosh.blogspot.com/2012/08/program-koneksi-database-ms-access.html

      • salam kenal mas alka…, ini yang agan bahas yang aku cari..gmn mas kalo eventnya pakai item Listener(implements itemListener) bukan ActionListener?
        contohnya misal ane punya database yang memiliki tabel dengan field nilai sama keterangan kemudian ane buatin sebuah combobox(combobox untuk load nilai) dan sebuah Jtexfield(nampilin keterangan dari nilai yang dipilih), gmn caranya ketika ane pilih salah satu nilai di combobox maka jtextfield disebelahnya terisi dengan keterangan yang ada dalam tabel di database tsb? terimakasih sebelumnya..and sukses selalu…..

  2. maaf mas mau tanya ?
    saya sudah bisa menampilkan ke data mysql ke combobox (jika satu combobox)

    Keterangan :
    misal saya buat 2 combobox (1 = comboxNegara, 2 = comboxProvinsi. ingin berelasi )

    data db_wilayah (tbl_negara, tbl_provinsi)
    data tbl_negara (id_negara, nama_negara)
    data tbl_provinsi (id_provinsi, nama_provinsi, id_negara)

    tbl_negara.id_negara tbl_provinsi.id_negara

    Kendala :
    ketika saya klik comboxNegara misal saya pilih indonesia maka pada comboxPropinsi tampil nama provinsi.

    sedangkan yg di relasikan adalah id_negara

    public final void setModel(){
    try {
    Class.forName(“com.mysql.jdbc.Driver”);
    String url = “jdbc:mysql://localhost/wilayah”;
    String user=”root”;
    String pass=””;
    koneksi = DriverManager.getConnection(url,user,pass);

    Statement st = koneksi.createStatement();
    ResultSet rs = st.executeQuery(“select nama_provinsi from tbl_provinsi WHERE id_negara = ?????”);
    /// ??????? = sedangkan referensinya nama negara bukan id_negara
    /// klo id_negara di masukan bisa cuma pada comboxNegara yg tampil bukan nama tapi id_negara
    while(rs.next()){
    model.addElement(rs.getString(2));
    }
    } catch (Exception e) {
    System.out.println(“gagal propinsi”);
    }
    }

    Mohon Bantuan/ pencerahanya mas saya masih newbie yg masih belajar java
    terimakasih.(tidak lupa temen2 yg lain juga boleh bantu)

    • hmm.. jadi gini 1. buat kelas Negara untuk menyimpan id_negara, nama_negara 2. ambil semua data negara lalu ciptakan Object negara, setelah itu simpan di dalam list 3. lakukan iterasi pada list untuk setiap negara yang bertujuan untuk mengambil nama negara yang akan dimasukkan kedalam model combobox. 4. setiap memilih item comboBox lakukan event yang mengambil Object negara dari list negara. kemudian select data di tabel propinsi berdasarkan id_negara yang dipilih. insyaAllah bisa

  3. klo misal saya pke array list dan sya buat jframe .didalam nya saya kasih menu dan pada other components saya tambahkan 3 jpanel . . yaitu mahasiswa , mk , dan nilai ., untuk yg mahasiswa dan mk itu saya inputtan biasa . dan yang jpanel nilai untuk salah satu komponennya misal : nim , saya ambil dari data array list mahasiswa lewat combobox .. itu caranya gimana ya ?? Moohon bantuannya thanks

  4. gan,kalau mengosogkan isi jtextfield kan jtextfield1().setText(” “);
    nah kalau pke combobox gimana gan biar indexnya tetap 0 jadi pas data udh disave dicombobox jdi kosong..
    mohon bantuannya..

    • mainkan Modelnya, disetiap komponen yg menampung dta akan memiliki model, dalam model itulah datanya ditampung. contohnya kayak gini.

      String[] kosong = {}; ComboBoxModel model = new DefaultComboBoxModel(kosong); comboBox.setModel(model);

  5. saya mau tanya ni mas.
    gimana caranya manapilkan misalnya kode_barang ke dalam combobox dari database MySql dan menapilkan nama barang di text fildnya.
    makasi sebelumnya mas

    • ada beberapa cara .. salah satunya kalau datanya tidak terlalu banyak bisa pake cara ini. 1. ambil datanya kode dr DB 2. isi combobox dengan semua data kode 3. berikan event actionperformed pada combobox yang isinya : a. mengambil data kode terpilih b. mengambil data dari database yang kodenya adalah data terpilih. c. isi data yg diambil bersasarkan kode tadi (nama misalnya) ke textfield dengan settext. jadi deh. utk codenya cari d google aja .. gak sulit kok.

  6. mas.. numpang tanya. misalnya combobox-nya terkoneksi isinya dngan database, masalahnya, jika saya mau menghapus datanya
    contoh:
    ad nim D05111001 di combobox
    trus ketika ditekan delete, data di database terhapus, tapi pilihan dalam combo box nya masih tetap ada. nah itu gmana caranya combo box bsa merefresh-nya jdi sesuai dgn kondisi databasenya ketika sudah terhapus datanya.
    mhon jwabanny mas..

    • 1. didalam combobox ada model. model berisi data yg ditampilkan. 2. ketika tekan tombol hapus haruslah juga mengupdate modelnya. dengan memasukkan data dari database ke dalam model dari comboboxnya. kalau pakai array maka buat aray baru sesuai data d db. kalau pakai list ya bikin list baru. kira2 begitu.

  7. Mas saya mau tanya lagi kalau buat nomor otomatis pada textfiled.
    kemudian disimpan didatabase. databasenya Mysql

    • 1. ambil jumlah data yang ada di database / rowcount
      2. lalu tambah +1 data dr db yg diambil.
      3. tampilkan hasil penambahannya di textfield
      4. simpan

      • klw membuat validasi (tidak boleh disimpan kosong)
        terus membuat laporan pertanggal?
        klw bs coding nya yas.
        terima kasih sebelumnya.

      • hehe maaf yah aku gak pernah kasih source code langsung, kalo mau belajar bikin saya bantu tp kalo cuma minta source code mohon maaf ya :)

  8. mau tanya misal aku buat aplikasi pendataan terus di ada 2 combobox combobox 1 aku kasih nama kecamatan dan combobox 2 aku kasih nama desa. terus aku mau nampilkan 1 kecamatan dan combobox 2 hanya berisi desa di kecamatan yang tampil di combobox 1. source codenya gmana?mohon bantuannya

    • untuk sourcecode gak terlalu sulit, bisa pelajari sendiri, aku kasih algoritmanya aja ya : 1. beri eventhandler pada combo1 ketika klik untuk : a. getSelectedItem / ambil kecamatan mana yg dipilih lalu konvert ke string / terserah kamu sesuai keperluan b. select namadesa from table desa where kecamatan = kecamatan terpilih (maksudnya ambil data ke database) c. simpan data nama desa dari database menjadi array atau list (sesuai kebutuhan). d. set data / set model dari combo 2 supaya berisi nama2 desa yg tersebut diatas. 2. kira – kira begitu. silahkan kerjakan dulu jika ada pertanyaan silahkan tanyakan

  9. jika pada combobox kita ingin memilih “admin”, terus textfield password “a” maka akan muncul pesan sukses.. gimana caranya mas?

    • 1. ambil value dari combobox dan textfiednya 2. buat kondisi, jika combobox = admin dan passwordnya = a maka buat JOptionPane.showMessage(null,”sukses”).

      algoritmanya seperti itu kira2

      • ya tapi codenya gak tau.. comboboxnya udah bisa manggil dari database.. baca jika yang dipilih admin tu gak bisa mas

        Object level = jcUser.getSelectedItem().toString();
        if(level==”admin”){
        JOptionPane.showMessageDialog(null,”Anda masuk sebagai Admin”,””,1);
        }else if(level==”user”){
        JOptionPane.showMessageDialog(null,”Anda masuk sebagai User”,””,1);
        }else{
        JOptionPane.showMessageDialog(null,”User Name atau Password Anda Salah”,”Peringatan”,2);
        }

        terus username atau password anda salah ja dibaca, gimana ya codenya mas?

      • untuk yang ini, kalau mau compare string itu biasakan pakai method equals. karena kalau pakai == artinya adalah object yang sama.

  10. mass maaf udah ketemu masalah yang itu,, sekarang mau tanyak cara input data dari data yang dipilih dari combobox ke tabel gimana sintaknya y?
    kalo dati TextField ke tabel kan “TextField.getText()”. nah kalo combo tak pake “combobox.getToolTipText()” sama “combobox.setSelectedItem()” gak mau juga mas. Minta sarannya mas. thanks

    • untuk input ke tabel ini maksudnya tabel mabna? table di database atau table di UI (user interface)? untuk mengambil value dari combobox bisa pakai combobox.setSelectedItem() . untuk memastikan nya kamu coba print di console pakai System.out.println(combobox.setSelectedItem()) apa hasilnya. kalau sudah tau nanti lbh mudah

  11. Gan mohon pencerahanya cara menampilkan Value jTextField dari Combox database yang sama satu tabel tapi beda kolom. Misal : tabel_projek, (nama_projek, leader). atas bantuanya saya ucapkan terimakasih.

  12. ia maksudnya sama kek judul yg diatas ini mengisi item combobox dari database terus setelah dipilih itemnya dari combobox langsung nampil juga di jTextField….maksudnya gitu gan….hehe….terimakasih

  13. Gan mirip seperti Mas ini ya (adni 20 July 2013 @ 8:58 AM) contohnya, tapi ane masih bingung nyusun2 kodenya……hehe tolong kasih contohnya dong gan. terimakasih

  14. Gan kalo bug bgni knpa ya, mohon pencerahanya :
    Exception in thread “main” java.lang.RuntimeException: Uncompilable source code – variable CmbPN might not have been initialized
    at pibk.InputData.main(InputData.java:257)

    • kalau dibaca dari errornya karena, codenya tidak bisa dicompile karena masih ada error yaitu variable CmbPN belum di initialisasi. coba cek variabel CmbPN nya

  15. Thanks gan buat jawabanya. #comment-814

    Gan sorry masih belum bisa nh nampilin nilai dari database Combox nya. Misal : punya tabel “projek” ada bbrapa field. yang dijadikan Combox, field pertama : ‘projekName’ dan buat nilai dari combox ini pada field kedua yaitu ‘transaction’. untuk pencerahanya saya ucapkan terimakasih. :)

    • coba cek data yg diabil berhasil gak, misal di print dulu di console pake system.out. kalau datanya sudah berhasil diambil, coba cek cara kamu memasukkannya ke comboboxnya. saya juga gak tau seperti apa kesalahannya .. saya gak bisa liat apa2 dari komen kamu diatas.

  16. Gan kalo bug bgini gimana ya ?
    Exception in thread “main” java.lang.RuntimeException: Uncompilable source code – non-static variable model cannot be referenced from a static context
    at pibk.InputData.main(InputData.java:256)
    Java Result: 1

    Thanks before. :)

    • mungkin itu karena di InputData.java: line 256, ada variable non static masuk ke dalam method static. variablenya harus static kalau mau masuk langsung di dalam method main

  17. Kodingnya seperti ini :

    public static void main(String args[]) {
    final JTextField text = new JTextField(“”);
    text.setEditable(false);
    final JComboBox CmbPN = new JComboBox(model);
    CmbPN.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent e){
    JComboBox CmbPN = (JComboBox) e.getSource();
    if(CmbPN.isSelected()){
    Object tampil = CmbPN.getSelectedItem();
    text.setEditable(true);
    text.requestFocus();
    text.setText(tampil == null ? “No Item Selected” : tampil.toString());
    }
    }
    });
    java.awt.EventQueue.invokeLater(new Runnable() {
    public void run() {
    new InputData().setVisible(true);
    }
    });
    }

    Yang benarnya gimana gan ?
    Thanks. :)

  18. Hmmm……..untuk line 256 codenya yang ini :

    ‘final JComboBox CmbPN = new JComboBox(model);

    ane kan ngikutin code yang dikasih link dari agan itu: http://stackoverflow.com/questions/14971926/display-data-in-jtextfield-from-jcombobox.

    petikan codenya seperti ini : ” final JComboBox combo = new JComboBox( new String[] { “Item 1″, “Item 2″, “Item 3″, “Item 4″ } ); ”

    nah seharusnya gimana gan ? maaf sudah merepotkan….hehehe :D
    tolong pencerahanya, terimakasih. :)

  19. masih bingung itu masuk parameter/variabel ? ambilnya dari sini gan:

    DefaultComboBoxModel model = new DefaultComboBoxModel();

    • nah sekarang di liat apakah kode

      DefaultComboBoxModel model = new DefaultComboBoxModel();

      ada di dalam method main ? kalau tidak ada, maka coba buat pada method main kode untuk membuat object model tersebut, (copy-paste / cut aja).

  20. ia tidak ada gan, barusan sudah saya simpan dan ok, tapi pas dipilih nilainya ko sama seperti yang di Combox ya gan padahal dalam databasenya berbeda.

    • jadi gini, kamu harus buat script untuk memasukkan data yang ada di database ke dalam model dari combobox, lalu di setModel maka comboboxnya akan berubah isinya. isi dari combobox tergantung dari modelnya.

  21. Seperti ini bukan gan ?

    public final void setModel(){
    try{
    Class.forName(“com.mysql.jdbc.Driver”);
    String url = “jdbc:mysql://localhost:3306/pibk”;
    String user = “root”;
    String pass = “”;
    con = DriverManager.getConnection(url,user,pass);
    stm = con.createStatement();
    rst = stm.executeQuery(“Select projekName from projek”);
    while(rst.next()){
    model.addElement(rst.getString(1));
    }
    }catch(Exception e){
    JOptionPane.showMessageDialog(null,”Failed Connection”,”Message”,JOptionPane.ERROR_MESSAGE);
    }
    }

    • iya kayak gitu bisa tapi kamu harus perhatikan penempatan kodenya. – pada method konstruktor diciptakan comboboxnya bukan di method main. – pada method main hanya digunakan untuk mencipkatan object dari program utaman saja.. ini kode contohnya

      package swing;

      import java.awt.event.ActionListener; import java.awt.event.ItemListener; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import javax.swing.DefaultComboBoxModel; import javax.swing.JOptionPane;

      public class ComboBox extends javax.swing.JFrame implements ItemListener {

      DefaultComboBoxModel model; Connection koneksi;

      public ComboBox() { this.model = new DefaultComboBoxModel(); initComponents(); setModel(); combo.setModel(model);

      }

      public final void setModel(){ try { Class.forName(“com.mysql.jdbc.Driver”); String url = “jdbc:mysql://localhost/inventaris_gudang”; //disesuaikan String user=”alka”;//disesuaikan String pass=”alka”;//disesuaikan koneksi = DriverManager.getConnection(url,user,pass);

      Statement st = koneksi.createStatement(); ResultSet rs = st.executeQuery(“select user_name from admin”); while(rs.next()){ model.addElement(rs.getString(1)); } } catch (Exception e) { System.out.println(“gagal”); }

      }

      @SuppressWarnings(“unchecked”) //

      private void initComponents() {

      combo = new javax.swing.JComboBox();

      setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

      combo.setModel(new javax.swing.DefaultComboBoxModel(new String[] { “Item 1″, “Item 2″, “Item 3″, “Item 4″ })); combo.addItemListener(this);

      javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup(

      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(20, 20, 20) .addComponent(combo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(33, Short.MAX_VALUE)) ); layout.setVerticalGroup(

      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addComponent(combo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(0, 41, Short.MAX_VALUE)) );

      pack(); }

      // Code for dispatching events from components to event handlers.

      public void itemStateChanged(java.awt.event.ItemEvent evt) { if (evt.getSource() == combo) { ComboBox.this.comboItemStateChanged(evt); } }//

      private void comboItemStateChanged(java.awt.event.ItemEvent evt) {

      String s = (String) combo.getSelectedItem(); if(s.equals(“item 1″)){ //lakukan sesuatu } }

      public static void main(String args[]) { /* Set the Nimbus look and feel */ // /* 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(ComboBox.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (InstantiationException ex) {

      java.util.logging.Logger.getLogger(ComboBox.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (IllegalAccessException ex) {

      java.util.logging.Logger.getLogger(ComboBox.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (javax.swing.UnsupportedLookAndFeelException ex) {

      java.util.logging.Logger.getLogger(ComboBox.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } //

      /* Create and display the form */ java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new ComboBox().setVisible(true); } }); }

      // Variables declaration – do not modify private javax.swing.JComboBox combo; // End of variables declaration

      }

  22. itu hampir sama ya gan, kalau code dari : @SuppressWarnings(“unchecked”) // sampai selesai itu otomatis dibuat netbeans sendiri ya gan ?

  23. gan ada yang mw ane tanyain ne, untuk menyimpan value dari combobox. seandainya kita ingin menyimpan field id dari sebuah tabel..sedangkan combobox tersebut menampilkan salah satu item dari tabel tersebut.
    contohnya gini frame pegawai berisi combobox jabatan,dimana combo jabatan itu berisi nama jambatannya. jadi pada saat akan di simpan datanya.combo jabatan itu hanya menyimpan id_jabatan bukan namajabatan kedalam tabel pegawai.kira-kira gmn caranya ya gan?

    • ada beberapa cara, saya kasih satu contoh gini : 1. saat mengambil data dari database, datanya disimpan dalam bentuk List yang isinya adalah object. misalkan objectnya adalah karyawan. maka dalam list itu berisi kumpulan karyawan2. yang tentu saja sudah memuat id, nama, jabatan dsb. 2. simpan list tersebut dalam object UI yang menjadi parent dari combobox, misalnya combobox itu ditampilkan pada JFrame, maka frame tersebut memiliki List yang akan diisi dengan data dari database. 3. pada saat tekan tombol simpan, maka anda sudah memiliki nama_jabatan dari combobox, setelah itu lakukan loop through the List listKaryawan untuk mendapatkan id_jabatan. misalnya seperti ini

      int idJabatan=0; for(Jabatan jab : listKaryawan ){ if(namaDariCombobox.equals(j.nama)){ idJabatan = jab.getId(); break; } }

      setelah anda dapat idnya, maka anda bisa melakukan koneksi ke database untuk menyimpannya. kira2 gitu caranya. maaf saya gak bisa kasih detail karena saya juga blm tau kode anda seperti apa,saya cuma kasih algoritmanya saja silahkan dicoba. kalau ada yg perlu ditanyakan jangan sungkan. thx

  24. gan ane masi bln dapet untuk nyimpan id-nya…
    coba agan lihat coding ane..

    private void BukaComboKecamatan(){
    try{
    sta = con.createStatement();
    String sql = “select nama_kecamatan from tb_kecamatan “;
    rs = sta.executeQuery(sql);

    while(rs.next()){
    model.addElement(rs.getString(1));
    }

    }catch(SQLException e){
    System.out.println(e);
    }

    }

    private void Simpan(){
    try{

    sta = con.createStatement();
    String sql = “insert into tb_desa values (null,’”+ jtxt_namadesa.getText()+”‘,’”+ jcmb_kecamatan.getSelectedItem()+”‘)”;
    sta.executeUpdate(sql);
    sta.close();

    }catch(SQLException e){
    System.out.println(e);
    }

    }

      • ini contohnya, tapi harus di cek lagi yah soalnya saya buatnya pakai notepad++ dan gak saya tes, ini cuma gambaran dari kodenya saja.

        //buatlah kelas ini di file lain class Kecamatan { private int ID; private String nama; public Kecamatan(){ } public Kecamatan(int id, String nama){ this.id = id; this.nama = nama; } public void setId(int id){ this.id = id; } public void setNama(String nama){ this.nama = nama; } public int getId(){ return this.id; } public String getNama(){ return this.nama; } }

        List lisKecamatan = null;

        private void BukaComboKecamatan(){ try{ sta = con.createStatement(); String sql = select id_kecamatan, nama_kecamatan from tb_kecamatan ; rs = sta.executeQuery(sql);

        lisKecamatan = new ArrayList();

        while(rs.next()){ Kecamatan kec = new Kecamatan(rs.getString(1),rs.getString(2)); lisKecamatan.add(kec); model.addElement(kec.getNama()); }

        }catch(SQLException e){ System.out.println(e); }

        }

        private void Simpan(){ try{

        sta = con.createStatement(); //asumsi tablenya [id, namadesa] String namaKecamatan = jcmb_kecamatan.getSelectedItem().toString(); String sql = insert into tb_desa values (getIdKecamatan(namaKecamatan),+ jtxt_namadesa.getText()+); sta.executeUpdate(sql); sta.close();

        }catch(SQLException e){ System.out.println(e); }

        }

        private int getIdKecamatan(String namaKec){ int id = 0; for(Kecamatan kec : lisKecamatan) { if(kec.getNama().equals(namaKec)){ id = kec.getID(); break; } } return id; }

  25. agan alka..
    dibaris liskecamatan = new ArrayList();
    muncul exception arraylist g bisa di convert ke list, lo ane liat new ArrayList baru ada itu pun g bisa juga…what’s the problem agan???hehehe

  26. agan mau tanya ne, kalo kita panggil data di database yang saya panggil primariy nya,. tapi saya mau yang tampil di combo deskripsinya dan ketika di save yang tampil di jtabel deskripsinya ,ngambil datanya dari tabel lain, dan yang tersimpan di database primary bukan deskripsinya itu gemana gan,

  27. tabel satuan
    idsatuan
    deskripsi

    tabel barang:
    idbarang
    nmbrg
    idsatuan

    jadi gini gan di form barang ada combobox untuk satuan, yang ingin saya tampilkan deskripsi, di combo boxnya,.. tapi yang save di tabel barang idsatuannya
    sory gan rada jlimet saya jelasinnya,.. heheh. makasih sebelumnya

    • klo paham konsep mvc gmpg. jadi gini : 1. bikin kelas (misal namanya Satuan )untuk menampung data id dan deskripsi dari table satuan. 2. ambil data dari table satuan dan simpan dalam object dari kelas Satuan yang kamu buat. dan simpan dalam ArrayList. 3. untuk menampilkan ke combobox, datanya diambil dari ArrayList diatas. 4. setelah memilih combobox, ambil data terpilih dengan combobox.getSelectedItem().toString(). 5. ambil id dari data terpilih dengan cara iterasi dari ArrayList :

      For (Satuan s : ArrayListnya){ if (s.getDeskripsi ().equals(dataDariCombobox())){ id = s.getIdSatuan(); break; } }

      6. setelah dapat Idnya, langsung save idnya. kira2 gitu algoritmanya

  28. ini coding di satuan nya mas… kn pake MVC itu pemodelannya,..

    public void insert( String idsatuan, String deskripsi){
    try{
    Connection r = koneksi.getkoneksi();
    String sql = ” INSERT INTO satuan VALUES (‘”+idsatuan+”‘,’”+deskripsi+”‘)”;

    PreparedStatement ps = (PreparedStatement) r.prepareStatement(sql);
    ps.executeUpdate();
    }catch(Exception e){
    System.out.println(e.getMessage());
    }
    }

    public void update(String idsatuan, String deskripsi){
    try{
    Connection r = koneksi.getkoneksi();
    String sql = “UPDATE satuan SET deskripsi =’”+deskripsi+”‘where idsatuan= ‘”+idsatuan+”‘”;
    PreparedStatement ps = r.prepareStatement(sql);
    ps.executeUpdate();
    }catch(Exception e){
    System.out.println(e.getMessage());
    }
    }
    public void delete(String idsatuan){
    try{
    Connection r = koneksi.getkoneksi();
    String sql = “DELETE FROM satuan WHERE idsatuan =’”+idsatuan+”‘”;
    PreparedStatement ps = r.prepareStatement(sql);
    ps.executeUpdate();
    }catch(Exception e){
    System.out.println(e.getMessage());
    }
    }

    public void select(String sql, DefaultTableModel model){
    int a = 1;

    try{
    Connection r = koneksi.getkoneksi();
    Statement statement = r.createStatement();
    ResultSet result = statement.executeQuery(sql);
    while(result.next()){
    String idsatuan = result.getString(1);
    String deskripsi = result.getString(2);

    String[]data = {
    idsatuan, deskripsi

    };
    model.addRow(data);
    a++;
    }
    statement.close();
    }catch(Exception e){
    System.out.println(e.getMessage());
    }
    }

    • oke.. trus dimana susahnya? itu kan udah jadi method2nya tapi saya memang blm lihat konsep mvcnya dr kodemu, tp gpp yg penting datanya masuk. kamu masih bingung apanya ?

  29. 2. ambil data dari table satuan dan simpan dalam object dari kelas Satuan yang kamu buat. dan simpan dalam ArrayList. 3. untuk menampilkan ke combobox, datanya diambil dari ArrayList diatas.
    maaf mas saya gx ngerti :)

    • bikin kelas Satuan : public class Satuan{ private String id; private String deskripsi; //bikin set dan get methodnya

      }

      bikin ArrayList :

      ArrayList lisSatuan = new ArrayList();

      ambil data dari database dan input ke arraylist :

      while(rs.next()){ Satuan s = new Satuan(); s.setId(rs.getString(1)) ; s.setDeskripsi(rs.getString(2)); lisSatuan.add(s);

      }

      kira2 kodenya kayak gitu

    • untuk set model combobox ada beberapa cara, salah satunya :

      String[] deskripsis = new String[lisSatuan.size]; int i =0; for(Satuan s : lisSatuan){ deskripsis[i] = s.getDeskripsi(); i++; }

      jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(deskripsis));

  30. mas array list yang kaya gini bukan
    public Object[][]getlistjenis(){
    String selectSQL = “select * from jenisbrg order by deskripsi asc”;
    PreparedStatement statement=null;
    try {
    statement=r.prepareStatement(selectSQL);
    ResultSet rs=statement.executeQuery();
    rs.last();
    int rows=rs.getRow();
    rs.beforeFirst();
    listjenis=new Object[rows][2];
    for(int i=0;i<rows;i++){
    rs.next();
    listjenis[i][0]=rs.getString(1);
    listjenis[i][1]=rs.getString(2);

    }
    } catch (SQLException e){
    JOptionPane.showMessageDialog(null,"Data jenis barang gagal ditampilkan\n"+e.getMessage());
    }
    return listjenis;
    }

  31. maaf bgt ya mas maaf :)
    kira kira seperti ini bukan yah,.. pgn bisa bgt nhe mas,…

    public void load (){

    ArrayList lisjnsbrg = new ArrayList();
    try {
    Connection r = koneksi.getkoneksi();
    Statement st = r.createStatement();
    ResultSet rs =st.executeQuery(“select * from jenisbrg”);
    while (rs.next()){
    jnsbrg j = new jnsbrg();
    j.setidjns(rs.getString(1));
    j.setdeskripsi(rs.getString(2));
    lisjnsbrg.add(j);
    }

    }catch (Exception e){
    System.out.println(e);

    }
    }
    }

  32. nah satu lagi om,.. set model di combo box nya,..
    nyang ini nie om,.. belum paham

    String[] deskripsis = new String[lisSatuan.size];
    int i =0; for(Satuan s : lisSatuan){
    deskripsis[i] = s.getDeskripsi();
    i++; }
    jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(deskripsis));

  33. maaf sebelumnya, tanya nih.
    rencana aku buat 2 combobox (login sebagai & username) trus 1 jpassword field, nah dari combo loginsebagai itu mau dijadikan acuan username, jadi kalo misal login sebagai “user” ntar dari database ngambil username khusus user dan paswordnya disesuaikan.

    udah beberapa kali tak coba dan sedikit tak samain dengan tutorial di atas, cuma kox ga bisa2 ya? tak coba gini:

    private void ComboModel(){
    Cusername.removeAllItems();//combo username
    try{
    Statement Stm = Con.createStatement();
    ResultSet Rs = Stm.executeQuery(“SELECT username FROM sistemujian018.tb_login”);
    while(Rs.next()){
    String data = Rs.getString(“username”);
    model.addElement(Rs.getString(1));

    }
    }catch(SQLException e){
    System.out.println(“Error”);
    }
    }

    setelah tak run, program jalan, cuma belum bisa kalo dipilih salah satu “loginsebagai” dan combo “username” masih saja kosong.

    itu sebaiknya gimana ya? apa ada kesalahan, kah?

    Trims sebelumnya.

silahkan ditanggapi :)

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s