Berikut ini adalah tabel kontruktor kelas DefaultCellEditor yang mempunyai kaitan dengan obyek dari kelas JCheckBox, JComboBox dan JTextField.
Tabel Konstruktor Kelas DefaultCellEditor
Konstruktor | Keterangan |
---|---|
DefaultCellEditor(JCheckBox checkBox) | Mengkonstruksi obyek DefaultCellEditor yang menggunakan obyek check box. |
DefaultCellEditor(JComboBox comboBox) | Mengkonstruksi obyek DefaultCellEditor yang menggunakan obyek combo box. |
DefaultCellEditor(JTextField textField) | Mengkonstruksi obyek DefaultCellEditor yang menggunakan obyek text field. |
Untuk menggunakan custom editor, Anda perlu membuat obyek menggunakan salah satu dari ketiga kelas tersebut dan kemudian menjadikan obyek tersebut sebagai argumen parameter konstruktor dari kelas DefaultCellEditor.
Custom editor akan ditampilkan di sel kolom tabel dengan memastikan terlebih dulu kolom individu mana yang memakainya dan kemudian menggunakan metoda setCellEditor dengan argumen obyek dari kelas DefaultCellEditor.
Anda dapat mempelajari secara khusus mengenai predefined editor untuk sel tabel dari kelas JTable di artikel Mengenal Renderer Dan Editor Tabel Di Program Java
Berikut ini adalah contoh program Java menggunakan kelas JComboBox sebagai editor untuk kolom Tipe di tabel penjualan notebook. Masing- masing tipe notebook memiliki lima macam warna yaitu merah, hitam, coklat, abu-abu dan putih. Obyek combo box dari kelas JComboBox akan ditampilkan ketika sel Tabel di kolom Tipe diklik. Melalui combo box, Anda dapat merubah tipe notebook.
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 : TabelPenjualanNotebook6.java // Membuat editor dari kelas JComboBox // Mengimpor kelas import java.awt.*; import javax.swing.*; import javax.swing.table.*; // Deklarasi kelas public class TabelPenjualanNotebook6 extends JFrame { // Membuat nama kolom tabel String[] kolomTabel = {"Tipe", "Warna", "Sistem Operasi", "Jumlah Terjual"}; // Membuat data tabel Object[][] dataTabel = { {"Satellite L630-1031U", "Black", new Boolean(false), new Integer(3)}, {"Satellite L645-1043XB", "Brown", new Boolean(true), new Integer(7)}, {"Satellite L645-1078X", "Gray", new Boolean(false), new Integer(5)}, {"Satellite L645-1042XR", "Red", new Boolean(true), new Integer(4)}, }; // Membuat model tabel private ModelTabelPenjualanNotebook model = new ModelTabelPenjualanNotebook(dataTabel, kolomTabel); // Membuat tabel private JTable tabel = new JTable(model); // Membuat obyek font private Font font = new Font("Tahoma", Font.BOLD, 12); // Konstruktor tanpa argumen public TabelPenjualanNotebook6() { // Mengatur tinggi baris tabel tabel.setRowHeight(26); // Mendekorasi table header JTableHeader header = tabel.getTableHeader(); header.setReorderingAllowed(false); header.setFont(font); // Membuat combo box untuk kolom tipe JComboBox comboBoxTipe = new JComboBox(); comboBoxTipe.addItem("Satellite L630-1031U"); comboBoxTipe.addItem("Satellite L645-1043XB"); comboBoxTipe.addItem("Satellite L645-1078X"); comboBoxTipe.addItem("Satellite L645-1042XR"); // Mengatur combo box sebagai editor kolom tipe TableColumn kolomTipe = tabel.getColumn("Tipe"); kolomTipe.setCellEditor(new DefaultCellEditor(comboBoxTipe)); getContentPane().add(new JScrollPane(tabel), BorderLayout.CENTER); } // Metoda main public static void main(String[] args) { TabelPenjualanNotebook6 frame = new TabelPenjualanNotebook6(); frame.setTitle("Kelas TabelPenjualanNotebook6"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(400, 150); frame.setVisible(true); } } |

Baris nomor 46 adalah pernyataan untuk mengkonstruksi obyek combo box dan kemudian memberi variabel comboBoxTipe acuan ke obyek tersebut. Baris nomor 47 - 50 adalah pernyataan untuk menambahkan beberapa item ke obyek combo box. Pernyataan baris nomor 53 – 54 digunakan untuk mengatur obyek combo box sebagai editor untuk kolom Tipe.