Tuesday, February 24, 2009

Menangani Item Listener pada JComboBox

Menangani Item Listener pada JComboBox

JComboBox
secara visual berbentuk komponen drop-down yang dapat digunakan untuk memilih item tertentu. Komponen ini menampilkan satu item dalam satu waktu. Kelas ini terdapat pada paket javax.swing sehingga nama lengkapnya adalah javax.swing.JComboBox.

Jika ingin mendeteksi perubahan item pada JComboBox, maka objek dari kelas ini perlu didaftarkan dengan method addItemListener(ItemListener i) dimana i adalah kelas yang mengimplementasikan interface ItemListener.

Contoh pendeteksian perubahan item pada kelas JComboBox adalah sebagai berikut,
Misalnya contoh kasus:
1) Terdapat sebuah JComboBox yang menyimpan kode barang
2) Jika user memilih kode (merubah item) pada JComboBox tersebut, maka secara otomatis menampilkan nama barang dan harga pada JTextField.

Untuk menjawab soal ini, pertama buat tampilan user interface dengan deklarasi misalnya seperti berikut:

private JLabel labelKode = new JLabel("Kode");
private JComboBox comboKode = new JComboBox();

private JLabel labelNama = new JLabel("Nama");
private JTextField textNama = new JTextField(15);

private JLabel labelHarga = new JLabel("Harga");
private JTextField textHarga = new JTextField(15);

Untuk tampilannya terserah saja. Jangan lupa untuk mendaftarkan item listener dengan method addItemListener(),

comboKode.addItemListener(this);

Variabel this ini menunjukkan bahwa kelas yang sekarang dibuat ini telah mengimplementasikan ItemListener. Pendeteksian perubahan item ini ditempatkan pada method itemStateChanged(),

public void itemStateChanged(ItemEvent ie)
{
String kode = comboKode.getSelectedItem().toString();
String data[] = ambilHarga(kode);

textNama.setText(data[0]);
textHarga.setText(data[1]);
}

ambilHarga(kode) adalah method yang digunakan untuk mengambil keterangan nama barang dan harganya dari database. Pada contoh ini digunakan database MS Access. Isi method ini adalah:

private String[] ambilHarga(String kode)
{
String harga[] = new String[2];
try
{
Class.forName("jstels.jdbc.mdb.MDBDriver").newInstance();
Connection conn = DriverManager.getConnection("jdbc:jstels:mdb:../Database/Penjualan.mdb");

Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT nama, harga FROM TabelBarang WHERE kode='" + kode + "'");

while (rs.next())
{
harga[0] = rs.getObject("nama").toString();
harga[1] = rs.getObject("harga").toString();
}

rs.close();
stmt.close();
conn.close();
}
catch(Exception e)
{
System.out.println(e);
}

return (harga);
}

Penjelasan tentang cara koneksi ke database dengan JDBC dapat dilihat pada postingan sebelumnya. Jika dijalankan hasilnya adalah sebagai berikut:


Source code lengkap dapat di download pada link ini.

Friday, February 20, 2009

Membuat Aplikasi Desktop dengan Netbeans

Membuat Aplikasi Desktop dengan Netbeans

Java saat ini menjadi pilihan handal untuk membuat aplikasi portable. Komitmen Indonesia untuk meninggalkan perangkat lunak ilegal dengan Gerakan Open Source menjadikan Java suatu pilihan tepat untuk mengembangkan aplikasi. Untuk membuat aplikasi Java menggunakan IDE Netbeans, ikuti langkah berikut:

1) Buka/jalankan aplikasi Netbeans Anda



2) Pilih File -> New Project atau klik ikon pada Toolbar
3) Pada Categories, pilih Java
4) Pada Projects, pilih Java Desktop Apllication


5) Pilih direktori tempat project berada dan beri nama project misalnya Programku
6) Jika sudah selesai klik Finish dan secara otomatis dibuatkan 3 file: ProgramkuApp.java, ProgramkuView.java dan ProgramkuAboutBox.java

7) Klik Run -> Run Project atau tekan F6 untuk mencoba menjalankan

8) Contoh hasil aplikasinya adalah seperti berikut:


Demikian contoh membuat aplikasi desktop Java dengan Netbeans. Namun jika Anda belum pernah membuat program Java sebelumnya disarankan untuk belajar mulai dari aplikasi konsol, mengkompilasi dari terminal/command prompt, setting classpath/path serta menjalankan dari command prompt/terminal. Biasanya jika belajar langsung dari aplikasi GUI dengan Netbeans akan kesulitan untuk menginstall program yang sudah dibuat di komputer client/tujuan. Kebanyakan tidak jalan karena salah setting path atau classpath-nya. Juga akan kesulitan jika menemui sedikit saja error.

Download source code