Pin It

Sebuah obyek tabbed pane (kelas JTabbedPane) dapat memiliki banyak tab-tab. Apabila obyek tabbed pane memiliki lebih dari satu tab dan tab-tab tersebut tidak cukup ruang untuk ditempatkan secara berderet, secara standar, tab yang tersisa akan diletakkan di posisi baris berikutnya dan seterusnya. Dengan menggunakan metoda setTabLayoutPolicy(int tabLayoutPolicy), Anda dapat menentukan pengaturan tata letak tab (tab layout policy) apabila tab-tab tersebut tidak cukup ruang. Metoda setTabLayoutPolicy mempunyai sebuah parameter dengan tipe integer. Argumen parameter metoda ini dapat berupa salah satu dari dua konstanta bernilai integer yaitu SCROLL_TAB_LAYOUT atau WRAP_TAB_LAYOUT (default).

Contoh program berikut ini mendemonstrasikan penggunaan metoda setTabLayoutPolicy dengan memberi argumen untuk parameter metoda dengan konstanta bernilai integer JTabbedPane.SCROLL_TAB_LAYOUT. Setiap label di tab akan diberi mnemonic (satu karakter yang diberi garis bawah).

// Nama file : TabLayoutPolicyAndMnemonic.java
// Mendemonstrasikan penggunaan metoda setTabLayoutPolicy

// Mengimpor kelas
import java.awt.*;
import java.awt.event.KeyEvent;
import javax.swing.*;

// Deklarasi kelas
public class TabLayoutPolicyAndMnemonic extends JFrame {

   String[] strLabel = {"General", "Computer Name", "Hardware", 
                        "Advanced", "System Restore", "Automatic Updates",
                        "Remote"};
   int[] mnemonic = {KeyEvent.VK_G, KeyEvent.VK_C, KeyEvent.VK_H,
                     KeyEvent.VK_A, KeyEvent.VK_S, KeyEvent.VK_U,
                     KeyEvent.VK_R};

   // Konstruktor
   public TabLayoutPolicyAndMnemonic() {

      JTabbedPane tabbedPane = new JTabbedPane();
      tabbedPane.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);

      // Menambah tab, meletakkan obyek label dan memberi mnemonic
      for (int x = 0; x < strLabel.length; x++) {
         tabbedPane.addTab(strLabel[x], null, new JLabel(strLabel[x],
            JLabel.CENTER), strLabel[x]);
         tabbedPane.setMnemonicAt(x, mnemonic[x]);
      }

      getContentPane().setLayout(new BorderLayout());
      getContentPane().add(tabbedPane, BorderLayout.CENTER);
   }   

   // Metoda main
   public static void main(String[] args) {

      TabLayoutPolicyAndMnemonic frame = new TabLayoutPolicyAndMnemonic();
      frame.setTitle("Kelas TabLayoutPolicyAndMnemonic");
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame.setSize(352, 120);
      frame.setVisible(true);
   }
}

Di pernyataan baris nomor 23 kode program di atas, metoda setTabLayoutPolicy diberi argumen berupa konstanta integer JTabbedPane.SCROLL_TAB_LAYOUT. Dengan argumen ini, tab akan diletakkan secara berderet apabila tidak cukup ruang untuk menampilkan semua tab yang ada. Anda dapat menggunakan sepasang tombol panah kecil yang terletak di sebelah kanan obyek tabbed pane untuk menampilkan tab yang tersebunyi. Ketentuan tata letak tab menggunakan konstanta JTabbedPane.SCROLL_TAB_LAYOUT ini sangat praktis digunakan, tidak memerlukan ruang yang lebih untuk menampilkan semua tab yang ada.

Mnemonic dan pengaturan tab di kelas JTabbedPane

Baca artikel terkait lainnya: