Di postingan sebelumnya, sudah dibahas tentang Flow Layout, sekarang kita akan pelajari apa bedanya dengan Grid Layout. Modifikasi file SimpleCalc.java yang ada di postingan Flow Layout menjadi seperti di bawah:

import javax.swing.*;
import java.awt.GridLayout;

public class SimpleCalc{
	public static void main(String[] args){
		JPanel windowPane = new JPanel();

		GridLayout g1 = new GridLayout(4,2);
		windowPane.setLayout(g1);

		JLabel label1 = new JLabel("operand 1 = ");
		JTextField angka1 = new JTextField(10);
		JLabel label2 = new JLabel("operand 2 = ");
		JTextField angka2 = new JTextField(10);
		JLabel label3 = new JLabel("hasil = ");
		JTextField hasil = new JTextField(10);
		JButton go = new JButton("Sum");

		windowPane.add(label1);
		windowPane.add(angka1);
		windowPane.add(label2);
		windowPane.add(angka2);
		windowPane.add(label3);
		windowPane.add(hasil);
		windowPane.add(go);

		JFrame frame = new JFrame();
		frame.setContentPane(windowPane);

		frame.setSize(500,100);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setVisible(true);
	}
}

Lalu run. Maka sekarang tampilannya lebih rapih.

007

Lalu coba resize windowsnya, posisi nya pun relatif tetap sama saja.. hanya ukurannya saja yg bertambah. Itulah perbedaannya Flow Layout dengan Grid Layout. Jadi Grid Layout akan menyimpan widget/komponen pada cell masing-masing sesuai urutannya.

008

Dalam instansiasi objek bertipe GridLayout, harus disertakan ukuran Grid-nya (dalam contoh ini yaitu 4 baris 2 kolom), mirip seperti table ya? Ada baris dan kolom :mrgreen: