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).

Produk Populer

Murah Taffware OKD180 power supply station 220V 69800mAh
Taffware OKD180 Power Supply Station Generator 220V 69800mAh
Rp 1.045.500
(4.8/5)
Murah Fosi Audio DA2120C Power Amplifier
Fosi Audio DA-2120C Bluetooth 5.0 Amplifier 2.1 Channel with Remote
Rp 2.138.900
(5/5)
Murah Fosi Audio BT30D Pro Power Amplifier
Fosi Audio BT30D PRO Bluetooth 5.0 Amplifier 2.1 Channel 165x2+350W
Rp 1.246.700
(5/5)
Murah Taffware OKD320A Power Supply Station 84000mAh 300W
TAFFWARE OKD320A Power Supply Station Generator Portable 84000mAh 300W
Rp 1.543.500
(5/5)

GRATIS ONGKIR bertransaksi melalui aplikasi Tokopedia.