Mengenal Cell Renderer kelas JComboBox di program Java
Mengenal Cell Renderer Kelas JComboBox Di Program Java
Kelas JComboBox mendelegasikan sepenuhnya tugas untuk menampilkan obyek grafis di setiap sel combo box (combo box cells) ke combo box cell renderer. Semua combo box cell renderer harus mengimplementasikan interface ListCellRenderer. Anda dapat mengganti string dengan tampilan obyek grafis seperti image atau komponen Java di setiap sel dari obyek combo box dengan cara yang sama sebagaimana di list cell renderer. Ada perbedaan sedikit yang perlu diperhatikan yaitu Anda menggunakan metoda setCellRenderer untuk kelas JList dan menggunakan metoda setRenderer untuk kelas JComboBox.

Contoh program berikut ini masih menggunakan kelas ButtonLabelRenderer (kode program java di artikel Memahami Dan Mengenal List cell renderer dan DefaultListCellRenderer Di Java) sebagai obyek grafis yang akan ditampilkan di sel-sel dari combo box. Kelas DemoComboBoxCellRenderer adalah program utama yang menggunakan kelas ButtonLabelRenderer. Berikut ini adalah listing kode program dan hasil eksekusinya.

 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
57
58
59
60
61
62
63
64
65
66
67
// Nama file : DemoComboBoxCellRenderer.java
// Menggunakan cell renderer di obyek combo box

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

// Deklarasi kelas
public class DemoComboBoxCellRenderer extends JFrame
   implements ActionListener {

   final int JUMLAH_WARNA = 9;
   private JComboBox comboBox;
   private DefaultComboBoxModel comboBoxModel;
   private ListCellRenderer renderer;
   private JPanel panel;

   // Konstruktor tanpa argumen
   public DemoComboBoxCellRenderer() {

      comboBoxModel = new DefaultComboBoxModel();

      // Mengkonstruksi list cell renderer
      comboBoxModel.addElement(new Object[] {Color.BLACK, "Black Color"});
      comboBoxModel.addElement(new Object[] {Color.YELLOW, "Yellow Color"});
      comboBoxModel.addElement(new Object[] {Color.MAGENTA, "Magenta Color"});
      comboBoxModel.addElement(new Object[] {Color.GREEN, "Green Color"});
      comboBoxModel.addElement(new Object[] {Color.CYAN, "Cyan Color"});
      comboBoxModel.addElement(new Object[] {Color.ORANGE, "Orange Color"});
      comboBoxModel.addElement(new Object[] {Color.BLUE, "Blue Color"});
      comboBoxModel.addElement(new Object[] {Color.PINK, "Pink Color"});
      comboBoxModel.addElement(new Object[] {Color.RED, "Red Color"});

      renderer = new ButtonLabelRenderer();

      comboBox = new JComboBox(comboBoxModel);
      comboBox.setRenderer(renderer);
      comboBox.setMaximumRowCount(4);
      comboBox.addActionListener(this);

      // Mengkonstruksi dan menyesuaikan warna panel dengan indek combo box 0
      panel = new JPanel();
      Object[] duaObjek = (Object[])(comboBox.getItemAt(0));
      panel.setBackground((Color)duaObjek[0]);

      getContentPane().add(comboBox, BorderLayout.PAGE_START);
      getContentPane().add(panel, BorderLayout.CENTER);
   }

   // Menangani pemilihan elemen di list
   public void actionPerformed(ActionEvent ae) {

      Object[] duaObjek = (Object[])(comboBox.getSelectedItem());
      panel.setBackground((Color)duaObjek[0]);
   }

   // Metoda main
   public static void main(String[] args) {
      DemoComboBoxCellRenderer frame = new DemoComboBoxCellRenderer(); 
      frame.setTitle("Kelas DemoComboBoxCellRenderer");
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame.setSize(280, 200);
      frame.setVisible(true);
   }
}

Menggunakan cell renderer di kelas JComboBox

Ketika menggunakan combo box di program, item pertama yang ditampilkan adalah item dengan indek 0. Dari contoh program di atas, obyek combo box menampilkan item warna hitam dengan string “Black Color”. Saat program dijalankan pertama kali, Anda perlu menyesuaikan warna panel agar sama dengan warna yang ditampilkan di combo box.

Baris nomor 45 di contoh program adalah pernyataan untuk mengubah (casting) item atau elemen di indek 0 (comboBox.getItemAt(0)) ke larik obyek yang kemudian disimpan ke variabel duaObjek yang mengacu ke larik. duaObjek[0] yang berisi konstanta warna, kemudian diubah (casting) ke tipe warna dan digunakan sebagai argumen metoda setBackground dari obyek panel untuk memberi warna latar panel (baris nomor 46).

SILAHKAN BAGIKAN ARTIKEL INI!
Pin It

Produk Laris Toko Gerzal

Edifier R1700BT Active 2.0 Bluetooth Bookshelf Speaker Set

Edifier R1700BT Active 2.0 Bluetooth Bookshelf Speaker Set

Beli di Shopee
Sunbuck AV-555BT Audio Amplifier Bluetooth 5.0 Microphone HiFi

Sunbuck AV-555BT Audio Amplifier Bluetooth 5.0 Microphone HiFi

Beli di Shopee
QUEED Power Supply Station Generator 220V 69800mAh

QUEED Power Supply Station Generator 220V 69800mAh

Beli di Shopee
Fosi Audio V3 Power Amplifier 2 Channel Audio Stereo Hi-Fi TI TPA3255

Fosi Audio V3 Power Amplifier 2 Channel Audio Stereo Hi-Fi

Beli di Shopee
Fosi Audio MC101 Mini Bluetooth Stereo Amplifier With VU Meter

Fosi Audio MC101 Mini Bluetooth Stereo Amplifier With VU Meter

Beli di Shopee