Mengatur letak komponen di Java dengan kelas FlowLayout

Mengatur Letak Komponen Menggunakan Kelas FlowLayout Di Java

Komponen-komponen Java lain yaitu obyek dari kelas JButton, JLabel, JTable, JTextField, JTextArea yang diletakkan di kelas-kelas wadah (container classes) seperti kelas Container, JFrame, JApplet atau JPanel dapat disusun sesuai dengan keinginan. Untuk mengatur tata letak komponen di kelas-kelas wadah, Anda perlu menggunakan layout manager.

Semua layout manager di Java mengimplementasikan interface LayoutManager. Contoh layout manager di Java adalah kelas FlowLayout, GridLayout, BorderLayout, BoxLayout, CardLayout, GroupLayout dan SpringLayout. FlowLayout adalah default layout manager untuk kelas Applet, Panel dan JPanel. BorderLayout adalah default layout manager untuk content pane kelas JFrame dan JApplet.

Mengatur letak komponen di container classes seperti obyek dari kelas JFrame tentu saja akan sulit terlebih lagi bila hanya mengandalkan layout manager. Untuk dapat meletakkan komponen sesuai dengan susunan yang diinginkan, Anda dapat menggunakan bantuan kelas JPanel.

Kelas FlowLayout adalah layout manager yang cukup sederhana. FlowLayout adalah default layout manager untuk kelas Applet, Panel dan JPanel. Berikut ini adalah konstruktor kelas FlowLayout:

Tabel Konstruktor Kelas FlowLayout

Konstruktor Keterangan
FlowLayout() Mengkonstruksi obyek FlowLayout dengan alignment memusat dan ukuran celah (gap) horisontal dan vertikal adalah 5 pixel.
FlowLayout(int align) Mengkonstruksi obyek FlowLayout dengan penjajaran ditentukan oleh parameter align dan ukuran celah horisontal dan vertikal adalah 5 pixel.
FlowLayout(int align, int hGap, int vGap) Mengkonstruksi obyek FlowLayout dengan alignment (penjajaran) ditentukan oleh parameter align serta celah (gap) horisontal dan vertikal ditentukan oleh parameter hGap dan vGap.

Berikut ini adalah contoh program Java menggunakan layout manager kelas FlowLayout. Lima buah obyek button dari kelas JButton diletakkan di content pane dari obyek kelas DemoFlowLayout yang merupakan subclass dari kelas JFrame.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// Nama kelas : DemoFlowLayout.java
// Mendemonstrasikan penggunaaan layout manager FlowLayout
 
// Mengimpor kelas
import javax.swing.JFrame;
import javax.swing.JButton;
import java.awt.Container;
import java.awt.FlowLayout;
 
// Deklarasi kelas
public class DemoFlowLayout extends JFrame {
 
   public DemoFlowLayout() {
 
      // Membuat obyek layout manager
      FlowLayout flowLayout = new FlowLayout(FlowLayout.CENTER, 5, 10);
       
      // Memperoleh kontent pane dari frame
      Container container = getContentPane();
 
      // Mengatur layout manager dari content pane
      container.setLayout(flowLayout);
 
      // Menambahkan lima button ke content pane
      container.add(new JButton("Tombol 1"));
      container.add(new JButton("Tombol 2"));
      container.add(new JButton("Tombol 3"));
      container.add(new JButton("Tombol 4"));
      container.add(new JButton("Tombol 5"));
   }
 
   public static void main(String[] args) {
      DemoFlowLayout jendela = new DemoFlowLayout();
      jendela.setTitle("Kelas DemoFlowLayout");
      jendela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      jendela.setSize(390, 120);
      jendela.setVisible(true);
   }
}

Mengatur letak komponen Java menggunakan kelas FlowLayout

Baris nomor 11 adalah deklarasi kelas DemoFlowLayout yang merupakan turunan dari kelas JFrame. Kelas DemoFlowLayout mempunyai sebuah konstruktor tanpa parameter yang dideklarasikan di baris nomor 13.

Di dalam konstruktor, obyek dari kelas FlowLayout dibuat menggunakan konstruktor ketiga dari tabel di atas. Parameter align diberi nilai berupa konstanta FlowLayout.CENTER untuk menempatkan komponen agar rata tengah dan nilai untuk parameter hGap dan vGap masing-masing adalah 5 dan 10.

Baris nomor 19 adalah pernyataan untuk mendapatkan content pane dari frame. Content pane adalah obyek dari kelas java.awt.Container sehingga variabel acuan container yang mengacu ke obyek content pane dideklarasikan dengan tipe kelas Container.

Content pane digunakan sebagai wadah atau tempat untuk komponen Java lain. Untuk mengatur penempatan komponen di content pane, digunakan layout manager dari kelas FlowLayout (baris nomor 22). Pernyataan baris nomor 25 – 29 meletakkan lima obyek dari kelas JButtom ke dalam content pane.

Baris nomor 33, adalah pernyataan untuk membuat obyek dari kelas DemoFlowLayout. Acuan ke obyek dari kelas DemoFlowLayout kemudian diberikan ke variabel acuan frame. Beberapa metoda yang diwarisi dari superclass dan metoda dari kelas JFrame sendiri yaitu setTitle, setDefaultCloseOperation, setSize dan setVisible digunakan untuk mengatur tampilan obyek frame.

Anda dapat membuat obyek dari kelas tanpa harus mendeklarasikan variabel acuan dan memberi acuan ke obyek tersebut ke variabel acuan. Deklarasi seperti ini sering disebut dengan anonymous object. Deklarasi obyek seperti ini sering digunakan sebagai argumen parameter sebuah metoda.

Sebagai contoh adalah membuat obyek dari kelas JButton di baris nomor 25 – 29. Contoh lainnya, pernyataan di baris nomor 16 dan 22 dapat disingkat menjadi pernyataan bawah ini.

container.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 10));

Nilai parameter align dari konstruktor kelas FlowLayout dapat berupa salah satu dari tiga konstanta bernilai int yaitu FlowLayout.CENTER, FlowLayout.LEFT atau FlowLayoutCenter. Bila Anda merubah nilai parameter align di baris nomor 16 dengan FlowLayout.RIGHT, maka diperoleh hasil eksekusi program seperti gambar di bawah ini.

Mengatur letak komponen Java menggunakan kelas FlowLayout

SUKAI DAN BAGIKAN ARTIKEL INI:
Pin It