Tuesday, September 16, 2008

Pemrograman GUI pada Java Bagian 2 - Menggunakan JFrame

Menggunakan JFrame

Kelas JFrame merupakan kelas yang paling sering digunakan untuk membuat program Java jenis aplikasi. Nama lengkapnya adalah javax.swing.JFrame. Silsilah dari kelas JFrame adalah:

java.lang.Object
_
java.awt.Component
_
java.awt.Container
_
java.awt.Window
_
java.awt.Frame
_
javax.swing.JFrame


Ada beberapa konstruktor yang dapat digunakan, yaitu:

1. JFrame()
Membuat frame baru dengan inisialisasi kosong. Semua properti akan diatur kemudian.
2. JFrame(GraphicsConfiguration gc)
Membuat frame baru dengan memberikan nilai awal untuk GraphicsConfiguration.
3. JFrame(String title)
Membuat frame baru dengan memberikan nilai awal untuk title bar.
4. JFrame(String title, GraphicsConfiguration gc)
Membuat frame baru dengan memberikan nilai awal untuk title dan GraphicsConfiguration.

Contoh menggunakan kelas JFrame - JFrame dengan TitleBar


1. Nama file: Contoh_2_1.java


2. Nama file: JFrameTitleBar.java




Cara menjalankan:

  1. Buat direktori dengan nama, misalnya bab2
  2. Buat direktori baru dengan nama src dan build di dalam direktori bab2
  3. Buat direktori baru dengan nama classes di dalam direktori build
  4. Ketik kedua file JFrameTitleBar.java dan Contoh_2_1.java dengan editor yang paling disukai kemudian simpan pada direktori src
  5. Masuk ke direktori src melalui terminal (IGOS Nusantara atau Linux) atau Command Prompt (Windows)
  6. Jika pada IGN atau Linux, ketikkan perintah berikut: javac –d ../build/classes *.java
  7. Jika pada Windows, ketikkan perintah berikut: javac –d ..\build\classes *.java
  8. Untuk menjalankan, masuk ke direktori classes
  9. Ketik perintah berikut: java bab2.Contoh_2_1
Setelah langkah ke-9 akan muncul seperti gambar berikut:
Keterangan JFrameTitleBar.java

1. package bab2;
Kata kunci package digunakan untuk mendeklarasikan paket baru. Pada contoh tersebut nama paket adalah bab2. Menggunakan paket sifatnya opsional. Namun, sangat dianjurkan untuk menggunakan paket pada setiap program Java yang dibuat mulai Java versi 1.4.

2. import javax.swing.JFrame;
Kata kunci import digunakan apabila pembuat program tidak ingin menuliskan nama lengkap untuk setiap kelas yang digunakannya. Misalnya apabila ingin menggunakan kelas javax.swing.JFrame, maka cukup ditulis dengan JFrame jika sudah dilakukan import.

3. public class JFrameTitleBar extends JFrame
Baris perintah tersebut digunakan untuk mendeklarasikan kelas baru dengan nama JFrameTitleBar yang merupakan turunan dari kelas JFrame, sehingga silsilah kelas JFrameTitleBar adalah sebagai berikut:

java.lang.Object
java.awt.Component
java.awt.Container
java.awt.Window
java.awt.Frame
javax.swing.JFrame
bab2.JFrameTitleBar

4. super("Contoh 2.1: JFrame dengan Titlebar");
Kata kunci super() digunakan untuk memanggil konstruktor kelas induk dari kelas yang dibuat sekarang. Dalam hal ini, kelas induknya adalah JFrame. Pemanggilan metode super() harus diletakkan pada baris pertama.

5. setSize(400, 200);
Metode setSize(int panjang, int lebar) merupakan metode yang diwariskan dari kelas java.awt.Window. Metode ini digunakan untuk mengatur ukuran panjang dan lebar window dalam satuan piksel.

6. setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
Metode setDefaultCloseOperation(int) digunakan untuk menangani kejadian saat tanda silang di pojok kanan atas pada window diklik. Ada beberapa konstanta dari kelas WindowConstants yang dapat digunakan sesuai dengan yang diinginkan.

7. setVisible(true);
Metode setVisible() merupakan metode yang diwariskan dari kelas java.awt.Window. Metode ini digunakan untuk memunculkan atau menyembunyikan window. Argumen yang dapat dimasukkan adalah true atau false.

Keterangan Contoh_2_1.java

public class Contoh_2_1 implements Runnable
{
public void run()
{
……..
}
public static void main(String args[])
{
SwingUtilities.invokeLater(new Contoh_2_1());
}
}
Baris perintah tersebut digunakan untuk membuat thread agar aman saat menggunakan komponen Swing. Dalam setiap aplikasi setidaknya memiliki satu buah thread. Keterangan lebih lanjut dapat dilihat pada situs: http://java.sun.com/javase/6/docs/api/javax/swing/package-summary.html#threading. Untuk selanjutnya, apabila menggunakan komponen Swing, maka akan menggunakan cara yang sama seperti baris perintah tersebut.

1. JFrame.setDefaultLookAndFeelDecorated(true);
Metode setDefaultLookAndFeelDecorated(boolean lafd) ini digunakan untuk memastikan bahwa JFrame tersebut akan mengikuti dekorasi window (border, judul dan sebagainya) sesuai dengan look and feel yang diaktifkan sekarang. Jika lafd diisi dengan true, maka tampilan dekorasi window akan ditampilkan sesuai dengan look and feel yang diaktifkan. Apabila tidak ada look and feel tertentu yang diaktifkan, maka akan digunakan look and feel standar Java yaitu OceanTheme seperti yang dapat dilihat pada Gambar 2.2. Tampilan dekorasi window akan sama pada setiap sistem operasi yang digunakan, misalnya Linux dan Windows.

2. JFrameTitleBar jftb = new JFrameTitleBar();
Baris perintah tersebut digunakan untuk membuat objek dari kelas JFrameTitleBar dengan nama jftb dan sekaligus menginisialisasi dengan memanggil konstruktornya.

Download source