Anda di halaman 1dari 33

JAVA SWING

OBJEKTIF:

1. Mahasiswa mampu memahami mengenai komponen - komponen yang terdapat pada Java
Swing.
2. Mahasiswa mampu memahami pembuatan aplikasi kalkulator dengan menggunakan
komponen - komponen yang terdapat pada Java Swing.

Java swing adalah library java yang secara default sudah tersedia dalam paket java SDK. Java
swing digunakan untuk mengembangkan aplikasi berbasis GUI (Graphical User Interface) . Java
Swing merupakan versi peningkatan dari AWT (Abstract Window Toolkit) yang merupakan versi
terdahulu library GUI pada java.

Nama dari komponen GUI milik Swing hampir sama persis dengan komponen GUI milik AWT.
Perbedaan jelas terdapat pada penamaan komponen. Pada dasarnya, nama komponen Swing
sama dengan nama komponen AWT tetapi dengan tambahan huruf J pada prefixnya. Sebagai
contoh, satu komponen dalam AWT adalah button class. Sedangkan pada Swing, nama
komponen tersebut menjadi Jbutton class.

Package dari Swing menyediakan banyak kelas untuk membuat aplikasi GUI. Package tersebut
dapat ditemukan di javax.swing . Komponen Swing ditulis menyeluruh menggunakan Java. Salah
satu kelebihan Swing adalah platform independent sehingga tampilan GUI yang dibuat dengan
Swing akan terlihat sama meskipun di jalankan pada sistem operasi yang berbeda-beda. Lebih
dari itu, Swing menyediakan komponen yang lebih menarik seperti color chooser dan option
pane .

Kelebihan Swing:

1. Di-bundle dalam java development kit


2. Netral terhadap semua sistem operasi
3. Mudah dikembangkan

Komponen Swing:

1. Top-level Container : Merupakan container dasar di mana komponen lainnya diletakan.


Contoh Top-level container ini adalah Frame, Dialog dan Applet yang diimplementasi dalam
class JFrame , Jdialog , dan JApplet .
2. Intermediate Container : Merupakan komponen perantara di mana komponen lainnya akan
diletakan. Salah satu contoh container ini adalah class JPanel .
3. Atomic Component : Merupakan komponen yang memiliki fungsi spesifik dan biasanya user
berinteraksi langsung dengan komponen jenis ini. Contohnya adalah JButton , JLabel ,
JTextField , dan JTextArea .
4. Layout Manager : Berfungsi untuk mengatur bagaimana posisi dari komponen – komponen
yang diletakan pada container. Secara default terdapat 5 macam layout yaitu berupa class
BorderLayout , BoxLayout , FlowLayout , GridBagLayout , dan GridLayout .
5. Event Handling : Untuk menangani event yang dilakukan oleh user misalnya menekan
tombol, mengkilik mouse dan lain – lain.

6.1 JAVA SWING BAGIAN 1


6.1.1 FORM
Untuk membuat form pada Swing kelas yang digunakan adalah kelas JFrame . Penggunaan
kelas-kelas swing sama seperti kelas java yang lain yaitu dengan cara instansiasi objek dan
pemberian nilai pada atribut yang diperlukan. Berikut ini adalah contoh pembuatan form dengan
menggunakan JFrame .

import javax.swing.JFrame;

public class LatihanJFrame {


   
   public static void main(String[] args) {
       JFrame form = new JFrame();
       form.setSize(640, 480);
       form.setVisible(true);
  }
}

Pada program di atas objek JFrame pada variable form di set atributnya dengan beberapa
method yaitu setSize() untuk menentukan ukuran panjang dan lebar form dalam satuan pixel,
dan setVisible() untuk membuat form yang dibuat bisa ditampilkan di layar. untuk
menjalankan program pada Apache Netbeans pastikan project di build terlebih dahulu sebelum
melakukan run file .

Selanjutnya kita akan menggunakan beberapa method untuk memodifikasi form.

import javax.swing.JFrame;

public class LatihanJFrame {


   
   public static void main(String[] args) {
       JFrame form = new JFrame();
       form.setSize(640, 480);
       form.setVisible(true);
       form.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       form.setTitle("Ayo Belajar Swing");
       form.setExtendedState(JFrame.MAXIMIZED_BOTH);
       form.setResizable(false);
  }
}

Method setDefaultCloseOperation() digunakan untuk menentukan proses yang akan terjadi


ketika form di tutup, pada contoh ini digunakan EXIT_ON_CLOSE agar pada saat form di tutup
maka program akan berhenti. Method setTitle() digunakan untuk menambahkan judul pada
form. method setExtendedState() digunakan untuk memberikan tampilan awal form pada
contoh ini tampilan awal dari form adalah maximize. method setResizeable() digunakan untuk
menentukan apakah form dapat di ubah-ubah ukurannya saat program sedang berjalan atau
tidak, pada contoh ini nilai di set false sehingga ukuran form tidak dapat di ubah-ubah (maximize,
minimize, memperbesar dan memperkecil dengan drag).

 
6.1.2 WINDOW LISTENER PADA FORM
Window Listener merupakan event/kejadian yang terjadi pada form, seperti event membuka
form, menutup form, minimize form, dll. Dengan Window Listener kita dapat menentukan proses
yang akan dilakukan pada setiap event yang terjadi.

Untuk menambahkan Window Listener pada form gunakan method addWindowListener()

form.addWindowListener();

Masukkan objek Window Listener sebagai argumen pada blok parameter. Objek Window
Listener di instansiasikan dari sebuah interface bernama WindowListener() , oleh karena itu
proses instansiasinya dilakukan dengan menggunakan anonymous class langsung pada blok
parameter. Implementasi seluruh method yang terdapat pada interface WindowListener() .

form.addWindowListener(new WindowListener() {
   @Override
   public void windowOpened(WindowEvent e) {
       throw new UnsupportedOperationException("Not supported yet.");
  }
   
   @Override
   public void windowClosing(WindowEvent e) {
       throw new UnsupportedOperationException("Not supported yet.");
  }

   @Override
   public void windowClosed(WindowEvent e) {
       throw new UnsupportedOperationException("Not supported yet.");
  }
   
   @Override
   public void windowIconified(WindowEvent e) {
       throw new UnsupportedOperationException("Not supported yet.");
  }
   
   @Override
   public void windowDeiconified(WindowEvent e) {
       throw new UnsupportedOperationException("Not supported yet.");
  }
   
   @Override
   public void windowActivated(WindowEvent e) {
       throw new UnsupportedOperationException("Not supported yet.");
  }
   
   @Override
   public void windowDeactivated(WindowEvent e) {
       throw new UnsupportedOperationException("Not supported yet.");
  }
});

Interface WindowListener memiliki 7 buah method, penjelasan untuk masing-masing method


adalah sebagai berikut:

1. windowOpened : Method yang di eksekusi ketika form di buka pertama kali


2. windowClosing : Method yang di eksekusi ketika form akan ditutup
3. windowClosed : Method yang di eksekusi ketika form telah ditutup
4. windowIconified : Method yang di eksekusi ketika form di minimize
5. windowDeiconified : Method yang di eksekusi ketika form di un-minimize
6. windowActivated : Method yang di eksekusi ketika form dalam keadaan aktif
7. windowDeactivated : Method yang di eksekusi ketika form dalam keadaan tidak aktif

Berikut adalah contoh program penggunaan Window Listener, untuk mencoba setiap method
listener digunakan perintah System.out.println() . Untuk mempermudah melihat hasil output
maka method setDefaultCloseOperation() di ganti dengan argumen
JFrame.DISPOSE_ON_CLOSE dan method setExtendedState() dihapus.

public class LatihanJFrame {


   
   public static void main(String[] args) {
       JFrame form = new JFrame();
       form.setSize(640, 480);
       form.setVisible(true);
       form.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
       form.setTitle("Ayo Belajar Swing");
       form.setResizable(false);
       form.addWindowListener(new WindowListener() {
           @Override
           public void windowOpened(WindowEvent e) {
               System.out.println("JFrame terbuka");
          }
           
           @Override
           public void windowClosing(WindowEvent e) {
               System.out.println("JFrame akan ditutup");
          }
           
           @Override
           public void windowClosed(WindowEvent e) {
               System.out.println("JFrame telah tertutup");
          }
           
           @Override
           public void windowIconified(WindowEvent e) {
               System.out.println("JFrame di minimize");
          }
           
           @Override
           public void windowDeiconified(WindowEvent e) {
               System.out.println("JFrame di un-minimize");
          }

           @Override
           public void windowActivated(WindowEvent e) {
               System.out.println("JFrame aktif");
          }
           
           @Override
           public void windowDeactivated(WindowEvent e) {
               System.out.println("JFrame tidak aktif");
          }
      });
  }
}

6.2 JAVA SWING BAGIAN 2


6.2.1 SWING PALETTE PADA NETBEANS
Swing Palette merupakan fasilitas GUI Builder yang secara default sudah tersedia pada
Netbeans. Dengan menggunakan Swing Palette proses pembuatan GUI tidak perlu dilakukan
dengan menulis kode program tetapi cukup dengan drag and drop.

Untuk menggunakan Swing Palette caranya adalah sebagai berikut:

1. Klik kanan pada package , lalu new, dan pilij JFrame Form

2. Berikan nama JFrame lalu klik finish

3. JFrame akan ditampilkan beserta Swing Palette


4. Untuk melakukan editing form seperti menambah atau mengubah atribut dapat dilakukan
dengan meng-klik JFrame lalu modifikasi nilai atribut pada kolom properties. Pada contoh
ini kita akan mengubah atribut title.

5. Build project sebelum menjalankan program


6. Jalankan JFrame dengan klik kanan pada JFrame dan pilih Run File

7. JFrame akan di jalankan


 

6.2.2 LABEL
Label digunakan untuk menampilkan informasi berupa text pada aplikasi. Label pada Swing
terdapat pada komponen JLabel . Berikut ini adalah cara penggunaan JLabel :

1. Buat JFrame baru terlebih dahulu. Klik kanan pada package > New > JFrame Form

2. Beri nama form LatihanLabel lalu klik finish

3. JFrame baru akan ditampilkan


4. Drag komponen Label pada Swing Container ke dalam JFrame

5. Letakkan label pada JFrame

6. Ubah atribut title menjadi " Ayo Belajar Java Swing " pada properties
7. Sesuaikan ukuran label agar title dapat terlihat semua

8. Ubah jenis font, ukuran dan style dari property font

9. Build project sebelum menjalankan


10. Jalankan JFrame dengan klik Run File, JFrame akan muncul beserta label

6.2.3 BUTTON
Button atau tombol di Swing terdapat pada komponen JButton . Berikut ini adalah langkah-
langkah penggunaan JButton :

1. Buat JFrame baru, berikan nama LatihanButton

2. Drag 3 komponen Button dari Swing Control ke dalam JFrame


3. Ganti text dari setiap Button pada properties

4. Jalankan JFrame untuk memastikan Button dapat ditampilkan dengan baik. Jangan lupa
Build project sebelum melakukan Run File
5. Selanjutnya menambahkan Action Event pada setiap Button ketika di klik

6. Klik kanan pada setiap button lalu pilih Events > Action > actionPerformed

7. Gunakan statement System.out.println() pada setiap actionPerformed untuk setiap


tombol

Detail kode program pada gambar di atas adalah sebagai berikut

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {


   System.out.println("Tombol simpan di klik");
}

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {


   System.out.println("Tombol ubah di klik");
}

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {


   System.out.println("Tombol hapus di klik");
}
8. Run program untuk melihat hasilnya. Jangan lupa melakukan Build project sebelum Run
File

9. Klik pada setiap tombol maka pada console akan muncul output sesuai dengan statement
System.out.println() yang terdapat pada actionPerformed

6.3 JAVA SWING BAGIAN 3


6.3.1 INPUT
Swing memiliki sangat banyak komponen inputan, baik berupa inputan text , inputan
password , inputan nilai boolean , dsb. Pada bagian ini kita akan mempelajari komponen inputan
yang paling sering digunakan di Swing yaitu JTextField , JPasswordField , JTextArea ,
JCheckBox dan JComboBox . Berikut ini adalah cara penggunaan komponen-komponen inputan
tersebut:

1. Buat JFrame Form baru, berikan nama LatihanInput

2. Tambahkan 5 buah label ke dalam JFrame , kemudian ubah atribut text pada label-label
tersebut menjadi Username , Password , Alamat , Status dan Jurusan
3. Tambahkan JTextField dengan drag komponen Text Field dari Swing Palette, letakkan
di sebelah label Username . Sesuaikan ukuran dan hapus text default pada JTextField

4. Tambahkan JPasswordField dengan drag komponen Password Field dari Swing Palette,
letakkan di sebelah label Password . Sesuaikan ukuran dan hapus text default pada
JPasswordField
5. Tambahkan JTextArea dengan drag komponen Text Area dari Swing Palette, letakkan di
sebelah label Alamat . Sesuaikan ukuran dan hapus text default pada JTextArea

6. Tambahkan JCheckBox dengan drag komponen Check Box dari Swing Palette, letakkan di
sebelah label Status . Sesuaikan ukuran, berikan text " Status? " pada atribut text dan
selected dalam posisi uncheck
7. Tambahkan JComboBox dengan drag komponen Combo Box dari Swing Palette, letakkan di
sebelah label Jurusan . Sesuaikan ukurannya

8. Ubah isi dari combo box dengan mengubah atribut model. Isi model combo box dengan
nama jurusan
9. Tambahkan button submit pada bagian bawah JFrame

10. Pastikan komponen telah ditempatkan dengan baik dengan menjalankan program dengan
Run File pada kelas LatihanInput , jangan lupa untuk melakukan build terlebih dahulu
11. Klik kanan pada button submit , Events > Action > actionPerformed

12. Tuliskan kode program sebagai berikut pada method actionPerformed


13. Nama dari komponen bisa jadi berbeda, untuk memastikan bisa dilihat pada tab design
kemudian seleksi salah satu komponen dan lihat nama komponen yang tertera pada kolom
properties

14. Jalankan program dengan Run File . Jangan lupa untuk build project terlebih dahulu

15. Inputkan username = " admin " dan password = " javaswing " lalu isi inputan alamat ,
status dan jurusan lalu klik submit . Hasil inputan akan di tampilkan pada console output
netbeans. Jika username dan password salah maka isi inputan tidak akan ditampilkan
 

6.3.2 CONTAINER
Container digunakan untuk mengelompokkan komponen-komponen Swing pada sebuah form,
tujuannya untuk mempermudah dalam reposisi komponen dan pengelompokkan kategori
informasi. Bahkan pada tingkat yang lebih mahir container dapat digunakan untuk membuat
komponen baru pada Swing. Ada beberapa container yang tersedia di Swing namun yang paling
sering digunakan adalah JPanel . Berikut adalah cara penggunaan JPanel :

1. Buatlah JFrame baru, berikan nama LatihanContainer

2. Tambahkan JPanel pada JFrame dengan drag komponen Panel pada Swing Palette
3. Secara default warna JPanel sama dengan warna JFrame , untuk mempermudah kita
mengenali JPanel maka warna JPanel perlu di ubah. Pada bagian properties klik
background dan ubah warnanya

4. Tambahkan label dan juga textfield di dalam JPanel


5. Seluruh komponen yang terdapat di dalam JPanel menjadi satu kesatuan dan dapat
digeser sekaligus, sehingga mempermudah proses reposisi komponen

6. Dalam sebuah form JPanel juga biasa digunakan untuk mengkategorikan komponen, Oleh
karena itu kita akan buat sebuah JPanel baru untuk meletakkan komponen yang
berkategori informasi akademik seperti fakultas , jurusan dan ipk

7. Tambahkan JPanel baru, kemudian tambahkan label dan textfield seperti pada
gambar
8. Jalankan program dengan Run File , jangan lupa build project terlebih dahulu

9. Program akan menampilkan form dengan 2 buah JPanel . JPanel yang pertama terdapat
komponen yang menyimpan informasi umum seperti nama dan npm . JPanel yang kedua
terdapat komponen yang menyimpan informasi akademik seperti fakultas , jurusan dan
ipk

6.3.3 DIALOG
Dialog merupakan komponen berbentuk pop-up window yang biasa digunakan untuk
menampilkan informasi ataupun konfirmasi atas suatu event. Komponen dasar yang digunakan
untuk membuat dialog pada Swing adalah JOptionPane . Berikut ini adalah cara menggunakan
JOptionPane :

1. Buatlah JFrame baru dan berikan nama LatihanDialog


2. Tambahkan 2 buah button pada JFrame , edit text pada button menjadi " Save " dan
" Delete "

3. Klik kanan pada button save, pilih Events > Action > actionPerformed
4. Pada method actionPerformed button save , tuliskan kode program berikut untuk
menampilkan JOptionPane

5. Untuk menampilkan dialog informasi digunakan method showMessageDialog() pada kelas


JOptionPane . Method showMessageDialog() berisi dua input parameter. Parameter
pertama di isi " this " karena parent dari dialog yang ditampilkan adalah JFrame tempat
kode program ini ditulis. Parameter kedua di isi pesan yang akan ditampilkan

6. Klik kanan pada button delete , pilih Events > Action > actionPerformed

7. Pada method actionPerformed button delete , tuliskan kode program berikut


menampilkan JOptionPane dalam bentuk konfirmasi
8. Method `showConfirmDialog() memiliki input parameter seperti method
showMessageDialog() yang sebelumnya. Akan tetapi method showConfirmDialog()
menghasilkan nilai kembalian berupa Integer . Integer yang di kembalikan sesuai dengan
aksi dari user terhadap dialog konfirmasi yang ditampilkan. Pada contoh ini ketika aksi dari
user adalah klik ok pada konfirmasi maka akan tampil pesan " Data dihapus " pada console
output, dan jika aksi dari user bukan klik tombol ok maka pesan yang akan tampil pada
console output adalah " Data tidak jadi dihapus "

9. Jalankan program dengan Run File , jangan lupa build project terlebih dahulu

10. Saat klik tombol simpan maka dialog pesan akan ditampilkan

11. Saat klik tombol delete maka dialog konfirmasi akan ditampilkan. Klik salah satu tombol
pada dialog konfirmasi maka output akan muncul pada console
 

6.4 DEMO APLIKASI KALKULATOR


Untuk memperjelas implementasi penggunaan Swing pada bagian ini kita akan membuat aplikasi
kalkulator sederhana. Berikut ini adalah langkah pembuatannya:

1. Buatlah JFrame baru dan berikan nama " Kalkulator "

2. Buat design GUI seperti berikut


3. Klik kanan pada button + pilih Events > Action > actionPerformed
4. Pada method actionPerformed button + tambahkan kode berikut untuk melakukan
penjumlahan angka dan menampilkan hasilnya pada label hasil. Pastikan nama komponen
yang di panggil (lihat cara mengetahui nama komponen pada bagian sebelumnya) karena
bisa jadi nama komponen pada setiap orang berbeda. Label hasil merupakan label yang
terletak pada bagian bawah, secara default menampilkan angka 0
5. Tambahkan method actionPerformed untuk ke 3 button sisanya, isi dari ke 3 method
tersebut adalah sebagai berikut

6. Jalankan program dengan Run File jangan lupa untuk build project terlebih dahulu.
Lakukan kalkulasi pada kalkulator dengan ke 4 button yang tersedia
 

 
 

REFERENSI:

[1] Lewis, John, dan William Loftus. 2015. Java Software Solutions Foundations of Program Design 8th
Edition. London: Pearson Education.

Anda mungkin juga menyukai