belajar menggunakan netbeans untuk membuat GUI dengan Java Swing [part 3], mengambil value dari komponen

Daftar Materi Java
  • part[1] kita membahas komponen – komponen netbeans yang sering digunakan dalam mendesain GUI dengan Swing
  • part[2] belajar drag n drop komponen, mengganti nama variabel, mengganti text, memberi aksi pada button.

sekarang kita akan belajar bagaimana caranya mengambil value / nilai pada sebuah komponen, komponen yang akan kita gunakan adalah

Inisialisasi Komponen

komponen kelas di Java nama variabel value / text
text field JTextField text1
text area JTextArea text2
combo box JComboBox combo [ hari, 1, minggu, 2, bulan,3, tahun, 4]
List JList namaHari [senin, selasa, rabu, kamis, jumat, sabtu, minggu]
button / tombol JButton tombol_textField  get textField
button / tombol JButton tombol_textArea  get textArea
button / tombol JButton tombol_combo  get Combo
button / tombol JButton tombol_list  get List
text area JTextArea areaHasil

 

Membuat Class

buatlah sebuah kelas turunan dari JFrame dengan cara, pada bagian project / package , klik kanan -> new -> JFrame form. atau menggunakan cara ke-2 dengan cara klik menu New FIle ->pilih Swing GUI Forms -> JFrame form-> Next -> lalu beri nama sesuai kebutuhan anda, klik finish jika sudah. jika belum jelas silahkan kembali ke bagian 1

Desain Komponen awal

buatlah desain dengan drag n drop komponen seperti pada pelajaran bagian 2  sebelumnya, jika sudah paham buatlah seperti ini

jika sudah lalu ubah lah properti dan nama variabel nya dengan cara klik kanan komponen satu per satu  lalu klik [edit Text] atau [change variable name] , jika belum jelas kembalilah ke pelajaran bagian 2 . sehingga menjadi seperti ini

langkah desain yang terakhir adalah mengganti item – item pada combo box dan list, kita rubah seperti pada bagian Inisialisasi Komponen. dengan cara klik komponen lalu rubah pada bagian properties item

akan ada windows yang berisi item 1, item 2, item 3 dst lalu ubahlah item menjadi seperti ini

dengan begitu pilihan yang ada pada combo box akan berubah, lakukan hal yang sama pada JList, sesuaikan dengan Inisialisasi Komponen atau anda bisa berkreasi sendiri sesuka anda.

Memberikan aksi / Event pada Komponen

selanjutnya kita akan memberikan aksi pada komponen tombol yaitu tombol_textField, tombol_textArea, tombol_combo dan tombol_list. caranya pun mudah, tinggal klik kanan pada komponen tombol -> Events -> Action -> Action performed. mari kita lakukan 1 per 1 :

tombol_textField

jika diberikan event akan menambah kode menjadi :

private void tombol_textFieldActionPerformed (java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:
  }

agar saat tombol bekerja dengan baik (mengambil nilai dari komponen text1) kita aka menggunakan method getText() milik text1 untuk mengambil text nya. mari kita lengkapi kodenya menjadi


private void tombol_textFieldActionPerformed(java.awt.event.ActionEvent evt) {
String textDariText1="";
textDariText1 = text1.getText(); //memasukan nilai text1 ke dalam String
//jika stringnya equals kosong ->(" ") artinya kosong
if(textDariText1.equals("")){
//langsung kasih dialog
JOptionPane.showMessageDialog(null, "text 1 masih kosong");
}
//jika tidak maka langsung set area_hasil dengan string yang diambil
else{
area_hasil.setText(textDariText1);
}
}

tombol_textArea 

lakukan hal yang sama untuk mengambil  text dari text2. sehingga kodenya menjadi


private void tombol_TextAreaActionPerformed(java.awt.event.ActionEvent evt) {
String textDariText2 = "";
textDariText2 = text2.getText(); //memasukan nilai text1 ke dalam String
//jika stringnya equals kosong ->(" ") artinya kosong
if (textDariText2.equals("")) {
//langsung kasih dialog
JOptionPane.showMessageDialog(null, "text 2 masih kosong");
} //jika tidak maka langsung set area_hasil dengan string yang diambil
else {
area_hasil.setText(textDariText2);
}
}

bagaimana ? mudah kan? 🙂 mari lakukan lagi untuk combobox dan list

tombol_combo

lakukan hal yang sama untuk memberi event pada tombol lalu lengkapi kodenya


private void tombol_comboActionPerformed(java.awt.event.ActionEvent evt) {
String textDariCombo = "";
textDariCombo = (String)combo.getSelectedItem(); /*memasukan nilai text1 ke dalam String
hasil dari combobox harus di convert ke string dengan kode (String), karena tipe
* dari combobox itu adalah object (bisa string, integer, double, dll)
*
*/
//jika stringnya equals kosong ->(" ") artinya kosong
if (textDariCombo.equals("")) {
//langsung kasih dialog
JOptionPane.showMessageDialog(null, "combo belum terpilih");
} //jika tidak maka langsung set area_hasil dengan string yang diambil
else {
area_hasil.setText(textDariCombo);
}
}

tombol_list

yang terakhir lakukan hal yang sama agar tombol_list memiliki event, dan lengkapi kodenya sebagai berikut


private void tombol_listActionPerformed(java.awt.event.ActionEvent evt) {
List textDariList = new ArrayList();
textDariList = namaHari.getSelectedValuesList(); /*memasukan nilai text1 ke dalam String
hasil dari combobox harus di convert ke string dengan kode (String), karena tipe
* dari combobox itu adalah object (bisa string, integer, double, dll)
*
*/
//jika stringnya equals kosong ->(" ") artinya kosong
if (textDariList.isEmpty()) {
//langsung kasih dialog
JOptionPane.showMessageDialog(null, "list belum terpilih");
} //jika tidak maka langsung set area_hasil dengan string yang diambil
else {
String textStringDariList = textDariList.toString();
area_hasil.setText(textStringDariList);
}
}

untuk List ini memang butuh sedikit modifikasi, hehehe karena setelah isi dari list yang terpilih diambil maka kita perlu menampungnya dulu dalam sebuah arrayList, lalu dengan method toString() milik arraylist, kita bisa mencetaknya ke area_hasil.

oke, gitu aja dulu dari saya, next time kita lanjut lagi belajar netbeans nya, tetap semangat tetap koding meskipun masih merasa sulit karena anda akan terbiasa jika sudah sekitar 6 bulan keep coding, hehe kalo masih baru emang susah tapi lama2 pasti bisa, yang penting terus belajar, semoga bermanfaat terimaksih sudah menyimak 🙂

Daftar Materi Java
155 Comments

Add a Comment

Your email address will not be published. Required fields are marked *