Banner Java

Posisi Teks Relatif Terhadap Ikon Di Kelas JButton

Sebuah obyek button (kelas JButton) dapat memiliki ikon (icon), teks (text) atau keduanya. Dengan menggunakan beberapa metoda yang dimiliki, Anda dapat menentukan posisi teks relatif terhadap ikon. Posisi horisontal teks relatif terhadap ikon dapat ditentukan dengan menggunakan 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 standar (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 yang menunjukkan 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

Selain menentukan posisi horisontal teks relatif terhadap ikon, Anda juga bisa menentukan posisi vertikal teks relatif terhadap ikon menggunakan metoda setVerticalTextPosition(int position). Anda dapat memberi argumen parameter metoda tersebut dengan salah satu dari tiga nilai konstanta TOP, CENTER dan BOTTOM. Posisi teks standar (default) secara vertikal adalah SwingConstants.CENTER. Berikut ini adalah tiga buah 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

setHorizontalTextPosition dan setVerticalTextPosition adalah metoda-metoda yang didefinisikan di kelas AbstractButton. Karena kelas JButton adalah kelas turunan (derivatif) dari kelas AbstractButton, maka metoda tersebut juga diwariskan ke kelas JButton dan dapat digunakan oleh kelas tersebut. Selain format PNG (Portable Network Graphics), Java juga mendukung format image yang lain yaitu GIF (Graphics Interchage Format) dan JPEG (Joint Photographic Experts Group). Jika Anda mempunyai file image dalam bentuk format yang lain, Anda perlu mengkonversi terlebih dulu ke salah satu format yang didukung oleh Java.

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.