Kelass Dimension adalah turunan langsung dari kelas java.awt.geom.Dimension2D. Berikut ini adalah hirarki turunan kelas Dimension di bahasa pemrograman Java:

Di bawah ini adalah tabel-tabel dari data file, konstruktor dan metoda kelas Dimension yang sering digunakan di program Java:
Tabel Data Field Kelas Dimension
Data Field | Keterangan |
---|---|
width | Dimensi lebar, nilai int negatif diperbolehkan. |
height | Dimensi tinggi, nilai int negatif diperbolehkan. |
Normalnya, nilai data field width dan height adalah integer positif. Konstruktor kelas Dimension tidak melarang untuk memberi nilai negatif ke kedua data field tersebut. Bila nilai kedua data field negatif, ini akan membuat beberapa metoda yang didefinisikan di obyek lain tidak beroperasi mestinya.
Tabel Konstruktor Kelas Dimension
Konstruktor | Keterangan |
---|---|
Dimension() | Mengkonstruksi obyek kelas Dimension dengan width dan height masing-masing bernilai 0. |
Dimension(int width, int height) | Mengkonstruksi obyek kelas Dimension dengan width dan height ditentukan. |
Tabel Metoda Kelas Dimension
Metoda | Keterangan |
---|---|
getWidth() | Mengembalikan dimensi lebar dengan presisi double. |
getHeight() | Mengembalikan dimensi tinggi dengan presisi double. |
getSize() | Mengembalikan ukuran dimensi sebuah obyek. |
setSize(int width, int height) | Mengatur kembali ukuran dimensi obyek dengan menentukan lebar dan tinggi. |
setSize(double width, double height) | Mengatur kembali ukuran dimensi obyek dengan menentukan lebar dan tinggi dalam presisi double. |
Berikut ini adalah contoh program Java menggunakan kelas Dimension untuk mengatur dimensi lima obyek button dari kelas JButton. Lima obyek button masing-masing mempunyai dimensi berbeda dan diletakkan di content pane frame 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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | // Nama file : DemoDimension.java // Mendemonstrasikan penggunakan kelas Dimension // mengimpor kelas import javax.swing.JFrame; import javax.swing.JButton; import java.awt.Container; import java.awt.FlowLayout; import java.awt.Dimension; import java.awt.Color; // Mendeklarasikan kelas public class DemoDimension extends JFrame { // Konstruktor kelas DemoDimension public DemoDimension() { JButton button1, button2, button3, button4, button5; FlowLayout layout = new FlowLayout(FlowLayout.LEFT, 3, 3); Container container = getContentPane(); container.setLayout(layout); container.setBackground(Color.YELLOW); Dimension dimension1 = new Dimension(120, 50); button1 = new JButton("Tombol 1"); button1.setPreferredSize(dimension1); button2 = new JButton("Tombol 2"); button2.setPreferredSize(new Dimension(90, 70)); button3 = new JButton("Tombol 3"); button3.setPreferredSize(new Dimension(100, 40)); button4 = new JButton("Tombol 4"); button4.setPreferredSize(new Dimension(90, 60)); button5 = new JButton("Tombol 5"); button5.setPreferredSize(new Dimension(100, 30)); container.add(button1); container.add(button2); container.add(button3); container.add(button4); container.add(button5); } // Metoda main public static void main(String[] args) { DemoDimension frame = new DemoDimension(); frame.setTitle("Demo Dimension"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(330, 175); frame.setVisible(true); } } |

Dari kode program di atas, lima obyek kelas JButton diletakkan di content pane dari frame. Obyek mempunyai dimensi berbeda saat diletakkan. Anda dapat menggunakan metoda setPreferredSize dengan parameter berupa obyek dari kelas Dimension.
Program menggunakan layout manager kelas FlowLayout untuk mengatur letak komponen di content pane. Bila content pane menggunakan layout manager kelas GridLayout atau kelas BorderLayout, aturan yang berlaku di layout manager tersebut menjadi prioritas, artinya dimensi komponen tidak berlaku lagi.
Misalnya, Anda merubah layout manager dari kelas FlowLayout ke kelas BorderLayout. Ketika salah satu komponen diletakkan di posisi PAGE_START atau PAGE_END, komponen akan merentang penuh ke sisi kanan dan kiri dan dimensi komponen yang telah ditentukan sebelumnya tidak berlaku.