Banner Java

Menggunakan Layout Manager Kelas GridLayout

Komponen Java lain yang terletak di kelompok kelas-kelas wadah (container classes) seperti kelas Container, JFrame, JApplet atau JPanel (baca artikel Pengantar Pemrograman Grafis Java: Kelas Container) dapat disusun sesuai keinginan. Untuk mengatur tata letak komponen di kelas-kelas wadah, Anda perlu menggunakan layout manager. Semua layout manager mengimplementasikan interface LayoutManager. Beberapa contoh layout manager 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. Artikel kali ini akan menjelaskan layout manager GridLayout.

Kelas GridLayout adalah salah satu layout manager yang sering digunakan dalam mengatur penempatan komponen di content pane. Komponen akan disusun dalam bentuk matrik dan ditempatkan di sel matrik (matrix cell). Komponen yang ditempatkan akan menggunakan semua ruang di dalam selnya. Setiap sel mempunyai ukuran yang sama dan akan berubah bila ukuran jendela atau frame dirubah. GridLayout mempunyai tiga buah konstruktor untuk membuat atau mengkonstruksi obyek GridLayout secara berbeda. Berikut ini adalah tabel konstruktor dari kelas GridLayout:

Konstruktor Kelas GridLayout
Konstruktor Keterangan
GridLayout() Mengkonstruksi obyek GridLayout yang memiliki hanya satu baris.
GridLayout(int rows, int cols) Mengkonstruksi obyek GridLayout yang memiliki jumlah baris dan kolom ditentukan.
GridLayout(int rows, int cols, int hGap, int vGap) Mengkonstruksi obyek GridLayout yang memiliki jumlah baris, kolom dan celah (gap) horisontal dan vertikal diantara komponen ditentukan

Berikut ini adalah contoh program yang mendemonstrasikan penggunaan layout manager GridLayout untuk menempatkan 10 komponen (obyek dari kelas JButton) ke dalam content pane. Penempatan komponen akan diatur dengan menggunakan layout manager GridLayout yang mempunyai 3 baris dan 4 kolom dengan celah (gap) 5 pixel, baik horisontal maupun vertikal.

// Nama file : DemoGridLayout.java
// Mendemonstrasikan penggunaan layout manager GridLayout

// Mengimpor kelas
import javax.swing.JFrame;
import javax.swing.JButton;
import java.awt.GridLayout;
import java.awt.Container;
import java.awt.Color;

// deklarasi kelas DemoGridLayout
public class DemoGridLayout extends JFrame {

   // Konstruktor
   public DemoGridLayout() {

      GridLayout grdLayout = new GridLayout(3, 4, 5, 5);

      Container container = getContentPane();
      container.setLayout(grdLayout);
      container.setBackground(Color.ORANGE);

      // Meletakkan komponen ke content pane
      for (int a = 1; a <= 10; a++)
         container.add(new JButton("Tombol " + a));
   }

   // Metoda main
   public static void main(String[] args) {

      DemoGridLayout grdLayout = new DemoGridLayout();
      grdLayout.setTitle("Kelas DemoGridLayout");
      grdLayout.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      grdLayout.setSize(400, 120);
      grdLayout.setVisible(true);
   }
}

Bila Anda merubah ukuran jendela atau frame, maka posisi dari tombol tidak akan berubah (jumlah baris dan kolom tetap) dan celah antar komponen baik horisontal maupun vertikal juga tidak berubah.

Menggunakan kelas GridLayout

Baca artikel terkait lainnya:

Untuk memperbaiki mutu konten, Anda dapat berpartisipasi dengan cara melaporkan apabila menemukan kesalahan ketik, kata-kata rangkap, redaksi kurang pas (jelas), gambar pendukung tidak ada dan sebagainya melalui form Kontak Kami untuk mendapatkan perbaikan. Terima kasih atas kerjasamanya.

Hindro HindriantoHindro adalah pendiri sekaligus admin termasmedia.com dan topikit.com, blog online yang mengulas teknologi informasi. Dunia web mulai ditekuni tahun 2012 dengan mempelajari CMS Joomla dan Wordpress. Beberapa buku yang sekarang dipelajari antara lain PHP, HTML5, ASP.NET 4.5, JavaScript, CSS3, MySQL, Adobe Dreamweaver, Adobe Photoshop dan Adobe Flash.