Judul : Java Swing Tingkat : Pemula Email : [email protected] Mohon maaf bila masih terjadi kesalahan dalam penulisan. Silakan kritik sarannya ke email diatas. JAVA SWING Swing merupakan library pada java untuk membuat sebuah tampilan seperti Frame, panel, button, text field, text area, radio button, combo box dan lain sebagainya. Secara native untuk memanggil swing dengan cara import.java.swing.*; Sebetulnya jika dilihat secara UI (user interface) swing memiliki tampilan yang hampir sama dengan java awt. Hanya saja secara behavior (tingkah laku) memiliki karakteristik yang berbeda. A. Komponen Swing 1. JFrame JFrame merupakan komponen utama dalam swing. Frame ibarat sebuah kanvas dimana kita akan memposisikan komponen swing lainnya seperti Label, text area, button dan lain-lain. 2. JLabel JLabel adalah komponen yang digunakan untuk membuat tulisan pada frame. BelajarJavaSwing|kanebokering.wordpress.com Hal 1 3. JText Field JTextField merupakan komponen swing yang digunakan untuk menginput sebuah string untuk kemudian dip roses . 4. JText Area Hampir mirip dengan text field, namun text area lebih dapat menyimpan lebih dari satu baris string. BelajarJavaSwing|kanebokering.wordpress.com Hal 2 5. JButton Komponen swing yang berbentuk tombol yang digunakan untuk melakukan eksekusi atau sebuah tindakan. 6. JComboBox Merupakan komponen swing yang digunakan untuk memilih salah satu diantara sekian banyak pilihan. BelajarJavaSwing|kanebokering.wordpress.com Hal 3 7. JRadioButton JRadioButton biasanya digunakan untuk memilih diantara di pilihan. 8. JCheckBox Digunakan untuk memilih lebih dari satu pilihan. BelajarJavaSwing|kanebokering.wordpress.com Hal 4 9. JTable JTable digunakan untuk menampilkan data. Biasanya yang diambil dari sebuah table database. B. JOption Pane JOption Pane adalah sebuah message atau pesan bisa brupa konfirmasi dialog atau meminta sebuah inputan yang dibuat pemrogram java untuk memberitahukan pesan error, larangan, sukses melakukan inputan dan lain-lain. 1. Input Dialog String bil1 = JOptionPane.showInputDialog(“Masukan Jumlah Angka Pertama!”); BelajarJavaSwing|kanebokering.wordpress.com Hal 5 2. Show Information JOptionPane.showMessageDialog(null,”The sum is 160”,”Sum of third Integer”,JoptionPane.INFORMATION_MESSAGE); 3. Warning JOptionPane.showMessageDialog(null,”The sum is 160”,”Sum of third Integer”,JoptionPane.WARNING_MESSAGE); 4. Error JOptionPane.showMessageDialog(null,”The sum is 160”,”Sum of third Integer”,JoptionPane.ERROR_MESSAGE); BelajarJavaSwing|kanebokering.wordpress.com Hal 6 5. JOptionPane Confirm Dialog Yes_No Dialog JOptionPane.showConfirmDialog (this,"Apakah Anda Yakin Akan Menutup Aplikasi Ini???","Konfirmasi", JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE)== JOptionPane.YES_OPTION) 6. JOption Pane Yes_No_Cancel Dialog JOptionPane.showConfirmDialog (this,"Apakah Anda Yakin Akan Menutup Aplikasi Ini???","Konfirmasi", JOptionPane.YES_NO_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE)== JOptionPane.YES_OPTION_CANCEL) C. Listing Program Program Yang Harus dipahami: Method : merupakan bagian dari class yang berisi fungsifungsi untuk melakukan eksekusi atau tahapan eksekusi. Class : file pada java yang menampung method, variable, dan lain-lain Project Folder : Folder yang berisi komponen-komponen java, seperti package, class, library, dan lain-lain Main Class : class yang pertama kali jalan ketika project folder atau package di eksekusi BelajarJavaSwing|kanebokering.wordpress.com Hal 7 Library : Sebuah program diincludekan berbasis /ditambahkan java pad yang (bisa project) yang memudahkan pemrogram dalam bekerja. Package Folder Main class, Hirarki/Struktur File Pada Java Persegi Kita akan membuat sebuah aplikasi mencari luas dan keliling persegi . Ikuti cara-cara dibawah ini: 1. Buka Program NetBeans 2. Buat project folder baru. File -> New Project 3. Pilih Catagories: Java dan Project: Java Aplication kemudian next. BelajarJavaSwing|kanebokering.wordpress.com Hal 8 4. Kemudian isi project name: latihan java (project name adalah nama project Folder). Project Location adalah direktori dimana kita akan menyimpan folder project. Jangan lupa centang create main class untuk membuat main class. Kemudian finish 5. Buat Sebuah JframeForm. Dengan cara klik kanan pada package folder -> new ->JFrameForm BelajarJavaSwing|kanebokering.wordpress.com Hal 9 6. Beri nama class nya “persegi” kemudian finish. 7. Gunakan Swing Control yang ada pada pallet (disebelah kanan net beans) dengan mendrag komponen yang kita butuhkan sehingga menjadi tampilan seperti ini BelajarJavaSwing|kanebokering.wordpress.com Hal 10 8. Beri Nama variable pada masing-masing komponen yang sudah kita drag. Dengan cara klik kanan pada komponen lalu pilih “change variable name” Komponen Nama variabel JTextField panjang txtbilpjg JTextField lebar txtbillbr JButton Proses btnproses JText Luas txtluas JText Keliling txtkel JButton Clear btnclear JButton Close btnclose *ubah nama tampilan dengan cara klik kanan pada komponen swing-> edit text 9. Beri aksi pada button close. Dengan cara klik kanan pada button close -> event -> action ->ActionPerformed. Ketikan source: dispose(); sehingga seperti ini: BelajarJavaSwing|kanebokering.wordpress.com Hal 11 10. Aksi pada button clear private void btnclearActionPerformed(java.awt.event.ActionEvent evt) { txtlbr.setText(""); txtpjg.setText(""); txtluas.setText(""); txtkel.setText(""); txtlbr.requestFocus(); } 11. Aksi pada button proses private void btnprosesActionPerformed(java.awt.event.ActionEvent evt) { int panjang,lebar,luas,keliling; panjang=Integer.parseInt(txtpjg.getText()); lebar=Integer.parseInt(txtlbr.getText()); luas = panjang*lebar; keliling = 2*(panjang+lebar); txtluas.setText(String.valueOf(luas)); txtkel.setText(String.valueOf(keliling)); } 12. Kemudian di Running dengan cara klik kanan pada class -> running atau tekan ctrl+f6. Kalkulator 1. Buat JFrameForm baru lalu beri nama kalkulator. 2. Gunakan Swing Control yang ada pada pallet (disebelah kanan net beans) dengan mendrag komponen yang kita butuhkan sehingga menjadi tampilan seperti ini BelajarJavaSwing|kanebokering.wordpress.com Hal 12 3. Beri Nama variable pada masing-masing komponen yang sudah kita drag. Dengan cara klik kanan pada komponen lalu pilih “change variable name” Komponen JTextField Bilangan 1 JTextField Bilangan 2 JTextFiled Hasil JButton + JButton JButton / JButton * JButton Clear JButton Close Nama variabel txtbil1 txtbil2 txthasil btntambah btnkurang btnbagi btnkali btnclear btnclose 4. Beri aksi pada button close. private void btncloseActionPerformed(java.awt.event.ActionEvent evt) { dispose(); } 5. Tambahkan variable bil1, bil2 dan hasil bertipe double. 6. Aksi Pada button clear private void btnclearActionPerformed(java.awt.event.ActionEvent evt) { txtbil1.setText(""); txtbil2.setText(""); txthasil.setText(""); txtbil1.requestFocus(); BelajarJavaSwing|kanebokering.wordpress.com } Hal 13 7. Aksi pada button tambah private void btntambahActionPerformed(java.awt.event.ActionEvent evt) { bil1=Double.valueOf(txtbil1.getText()); bil2=Double.valueOf(txtbil2.getText()); hasil=bil1+bil2; txthasil.setText(String.valueOf(hasil)); } 8. Aksi pada button kurang private void btnkurangActionPerformed(java.awt.event.ActionEvent evt) { bil1=Double.valueOf(txtbil1.getText()); bil2=Double.valueOf(txtbil2.getText()); hasil=bil1-bil2; txthasil.setText(String.valueOf(hasil)); } 9. Aksi pada button kali private void btnkaliActionPerformed(java.awt.event.ActionEvent evt) { bil1=Double.valueOf(txtbil1.getText()); bil2=Double.valueOf(txtbil2.getText()); hasil=bil1*bil2; txthasil.setText(String.valueOf(hasil)); } 10. Aksi pada button bagi private void btnbagiActionPerformed(java.awt.event.ActionEvent evt) { bil1=Double.valueOf(txtbil1.getText()); bil2=Double.valueOf(txtbil2.getText()); hasil=bil1/bil2; txthasil.setText(String.valueOf(hasil)); } BelajarJavaSwing|kanebokering.wordpress.com Hal 14 Biodata 1. Buat JFrameForm Baru lalu beri nama biodata 2. Buat tampilan seperti ini: 3. Beri nama variable sebagai berikut: Komponen JTextField Npm JTextField Nama JRadioButton Pria JRadioButton Wanita JComboBox Agama JCheckBox Membaca JCheckBox Menulis JTextArea Alamat JButton Action JButton Close • Nama variabel txtnpm txtnama rbpria rbwanita cboagama cbbaca cbtulis txtalamat btnaction btnclose Mengubah/menambahmenuu pada opsi combo box dengan cara menambahkan menu di properties pada tab model. Menggabungkan radio button agar tidak terjadi multiple selected dengan cara mendrag radio button group ke Jrame lalu ubah properties radio button pada buuton group menjadi radiobuttongroup1 • 4. Tambahkan variable agama, jk, dan hobi bertipe string 5. Buat Method close public void close () { if (JOptionPane.showConfirmDialog (this,"Apakah Anda Yakin Akan Mengakhiri Aplikasi ini???","Konfirmasi", JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE)== JOptionPane.YES_OPTION) {{ BelajarJavaSwing|kanebokering.wordpress.com this.dispose(); }} } Hal 15 6. Buat method proses public void proses(){ if (rbpria.isSelected()){ jk="pria"; } else{ jk="wanita"; } agama=String.valueOf(cboagama.getSelectedItem()); if (cbmembaca.isSelected()&&cbmenulis.isSelected()){ hobi="Membaca dan Menulis"; } else{ if(cbmembaca.isSelected()) hobi="Membaca"; if(cbmenulis.isSelected()) hobi="menulis"; } if(!cbmembaca.isSelected()&&!cbmenulis.isSelected()){ JOptionPane.showMessageDialog(this, "Nim Anda: "+txtnim.getText() +"\n Nama: "+txtnama.getText() +"\n Jenis Kelamin: "+jk +"\n Agama: "+agama +"\n Alamat: "+txtalamat.getText() +"\n Namun Sayang Tidak Memiliki Hobi Membaca Dan Menulis"); } else{ JOptionPane.showMessageDialog(this, "Nim Anda: "+txtnim.getText() +"\n Nama: "+txtnama.getText() +"\n Jenis Kelamin: "+jk +"\n Agama: "+agama +"\n Alamat: "+txtalamat.getText()); } } 7. Panggil masing-masing method pada aksi button dengan menuliskan: close(); BelajarJavaSwing|kanebokering.wordpress.com Hal 16 Menu 1. Buat sebuah JframeForm Baru. Beri nama menu 2. Ambil komponen swing yang bernama menu pada swing menus. Drag hingga ke frame bagian atas. 3. Drag menu item pada swing menus, arahkan ke menu yang sudah kita buat. Ubah masing-masing nama dan variable namenya. 4. Tarik/drag komponen internal frame arahkan pada frame. Atur luasnya sehingga sama dengan frame. 5. Ubah source code semua class yang sudah kita buat (persegi, kalkulator, dan biodata) kecuali main class dan class menu ini menjadi Internal Frame. Caranya buka source class ubah dari: Menjadi 6. Panggil masing-masing class dengan menu itemnya seperti ini: Misal pada menu item persegi private void menupersegiActionPerformed(java.awt.event.ActionEvent evt) { persegi obj = new persegi(); jDesktopPane1.add(obj); obj.show(); } 7. Lakukan cara nomor enam pada masing-masing menu. BelajarJavaSwing|kanebokering.wordpress.com Hal 17 Main Class Main class adalah class yang pertama kali di eksekusi atau dijalankan pada project folder. Karena diawal kita telah mencentang set main class, maka nama main class yang tercipta sama dengan nama project yang dibuat. Panggil class yang pertama kali akan ditampilkan saat program dijalankan. Yaitu class menu. package latihanjava; public class Latihanjava { public static void main(String[] args) { menu x = new menu(); x.setLocationRelativeTo(null); x.setVisible(true); } } BelajarJavaSwing|kanebokering.wordpress.com Hal 18