Sebuah obyek button dari kelas JButton dapat memiliki ikon (icon), teks (text) atau gabungan dari keduanya. Dengan menggunakan beberapa metoda yang dimiliki, Anda dapat menentukan posisi teks relatif terhadap ikon. Posisi horisontal teks relatif terhadap ikon dapat ditentukan dengan metoda setHorizontalTextPosition(int position).

Anda dapat memberi argumen parameter metoda tersebut dengan salah satu dari lima konstanta bernilai integer yaitu LEADING, LEFT, CENTER, RIGHT dan TRAILING. Posisi teks default secara horisontal adalah SwingConstants.RIGHT. Konstanta LEADING dan LEFT serta TRAILING dan RIGHT hampir mempunyai efek posisi teks horisontal yang sama.

Berikut ini adalah contoh program Java terkait penggunaan metoda setHorizontalTextPosition untuk menentukan posisi teks horisontal dengan argumen berupa konstanta LEFT, CENTER dan RIGHT.

import javax.swing.*;
import java.awt.*;
import java.net.URL;

// Deklarasi kelas
public class DemoHorizontalPosition extends JFrame {

   public DemoHorizontalPosition() {

      // Mengakses ikon
      Class metaObject = this.getClass();
      URL urlAccept = metaObject.getResource("image/accept.png");
      URL urlDelete = metaObject.getResource("image/delete.png");
      URL urlSave = metaObject.getResource("image/saveas.png");

      Icon iconAccept = new ImageIcon(urlAccept);
      Icon iconDelete = new ImageIcon(urlDelete);
      Icon iconSave = new ImageIcon(urlSave);      

      // Membuat obyek button
      JButton tombolAccept = new JButton("Menerima", iconAccept);
      tombolAccept.setHorizontalTextPosition(SwingConstants.LEFT);

      JButton tombolDelete = new JButton("Menghapus", iconDelete);
      tombolDelete.setHorizontalTextPosition(SwingConstants.CENTER);

      JButton tombolSave = new JButton("Menyimpan", iconSave);
      tombolSave.setHorizontalTextPosition(SwingConstants.RIGHT);

      getContentPane().setLayout(new GridLayout(1, 3));
      getContentPane().add(tombolAccept);
      getContentPane().add(tombolDelete);
      getContentPane().add(tombolSave);
   }

   // Metoda main
   public static void main(String[] args) {
      DemoHorizontalPosition frame = new DemoHorizontalPosition();
      frame.setTitle("Kelas DemoHorizontalPosition");
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame.setSize(420, 90);
      frame.setVisible(true);
   }
}
Mendekorasi obyek kelas JButton di bahasa pemrograman Java

Selain menentukan posisi horisontal teks relatif terhadap ikon, Anda juga bisa menentukan posisi vertikal teks relatif terhadap ikon dengan metoda setVerticalTextPosition(). Anda dapat memberi argumen parameter metoda tersebut dengan salah satu dari tiga nilai konstanta TOP, CENTER dan BOTTOM. Posisi teks default secara vertikal adalah SwingConstants.CENTER.

Berikut ini adalah tiga baris pernyataan hasil modifikasi kode program di atas dimana metoda setHorizontalTextPosition baris nomor 22, 25 dan 28 diganti dengan metoda setVerticalTextPosition.

tombolAccept.setVerticalTextPosition(SwingConstants.TOP);
tombolDelete.setVerticalTextPosition(SwingConstants.CENTER);
tombolSave.setVerticalTextPosition(SwingConstants.BOTTOM);

Mendekorasi obyek kelas JButton di Java

setHorizontalTextPosition dan setVerticalTextPosition adalah dua metoda yang didefinisikan di kelas AbstractButton. Karena kelas JButton adalah turunan (derivatif) kelas AbstractButton, maka kedua metoda tersebut juga diwarisi kelas JButton dan kemudian dapat digunakan. Selain format PNG, Java juga mendukung format image GIF dan JPEG. Jika Anda mempunyai file image dalam format lain, Anda perlu mengkonversi terlebih dulu ke salah satu format yang didukung Java.

SUKAI DAN BAGIKAN ARTIKEL INI:
Pin It