Menggunakan kelas Dimension di Java

Menggunakan Kelas Dimension Di Java

Di Java, kelas Dimension masuk dalam kelompok helper classes. Kelas Dimension digunakan untuk menentukan dimensi yaitu panjang dan lebar suatu komponen sesuai dengan yang diinginkan. Anda dapat menentukan ukuran berbeda beberapa komponen Java dari kelas yang sama sebelum komponen tersebut diletakkan dan disusun di content pane dari kelas-kelas wadah (container classes) seperti kelas JFrame, JPanel dan JApplet.

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

Hirarki kelas Dimension di program Java

Di bawah ini adalah tabel-tabel dari data file, konstruktor dan metoda kelas Dimension yang sering digunakan untuk menentukan dimensi sebuah komponen di 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 (int) positif. Konstruktor kelas Dimension tidak melarang Anda 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 sebagaimana 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 komponen lima obyek button dari kelas JButton. Lima obyek button masing-masing mempunyai dimensi berbeda dan diletakkan di content pane frame dari kelas JFrame.

// 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);
   }
}

Menggunakan kelas Dimension di program Java

Dari kode program di atas, lima buah obyek dari 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 dari kelas GridLayout atau 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.

SUKAI DAN BAGIKAN ARTIKEL INI:
Pin It