Menambahkan Komponen Pada JFrame

Setelah mengetahui cara membuat frame pada Java maka selanjutnya Anda bisa mencoba untuk menambahkan komponen-komponen GUI. Untuk melakukannya Anda bisa menggunakan method add().

Perhatikan contoh berikut ini:

Output:

 

Setelah Anda menjalankan program tersebut Anda akan mendapatkan sebuah frame dengan tombol yang selalu berada di tengah dan menutupi seluruh area frame meskipun Anda sudah berusaha untuk mengatur ukuran frame. Itu disebabkan karena Anda manempatkan komponen dalam hal ini sebuah tombol dengan menggunakan layout manager dari content pane. Secara default, layout manager untuk content pane akan menempatkan komponen di tengah.

Memang tidak menarik sih, tapi dari sini anda bisa mengetahui cara menambahkan komponen pada sebuah frame yang bertindak sebagai container atau wadah.

Jadi pembahasan selanjutanya adalah Anda akan belajar dan memahami penggunaan layout manager untuk mengatur tata letak komponen-komponen GUI.

Baca Juga:  GUI Event Handling Pada Java

Penjelasan Tambahan

Setiap JFrame seperti yang baru saja Anda buat itu memiliki content pane yang merupakan instance dari class java.awt.Container. Jadi komponen seperti tombol tersebut akan ditempatkan pada content pane yang ada pada frame.

Dulu pada versi Java awal Anda harus menggunakan method getContentPane dalam class JFrame untuk mengembalikan (return) content pane dari suatu frame. Kemudian Anda harus memanggil method add dari content pane untuk menempatkan komponen-komponen pada content pane tersebut, sebagai berikut:

Namun cara tersebut tampaknya tidak praktis dan cukup merepotkan. Oleh sebab itu sejak versi Java 5, Anda bisa menempatkan komponen secara langsung pada content pane suatu frame dengan cara:

Cara yang lebih mudah dan praktis ini disebut dengan delegasi content pane.

Jadi ketika Anda mengatakan komponen ditempatkan pada frame itu sebenarnya yang terjadi adalah menempatkan komponen pada content pane dari frame tersebut.

Pada kode line 11 di atas, Anda menempatkan objek JButton yang di buat dengan new JButton (“OK”) dan kemudian objek tersebut diletakkan pada content pane dari myFrame.

Method add(Component comp) pada class Container akan menambahkan instance komponen pada container. Jadi masuk akal karena JButton adalah subclass dari Component maka sesuai prinsip inheritance JButton juga adalah Component.

Kemudian untuk menghilangkan komponen dari container, Anda bisa menggunakan method remove. Berikut ini adalah contoh pernyataan untuk melakukannya:

container.remove(button);

Leave a Comment