Di artikel kali ini, Anda diberi contoh program Java kelas JColorChooser yang digunakan sebagai kotak dialog warna. Ketika salah satu tombol (button) di program diklik, maka kotak dialog warna muncul. Pengguna aplikasi dapat memilih warna yang diinginkan untuk merubah warna latar atau warna teks dan kemudian menekan tombol OK.
Baca artikel Menggunakan Kelas JColorChooser Sebagai Komponen
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 68 69 70 71 72 73 74 75 76 | // Nama file : DemoJColorChooser.java // JColorChooser sebagai kotak dialog pilihan warna // Mengimpor kelas import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.border.*; // Deklarasi kelas public class DemoJColorChooser extends JFrame { Container kontener; Color warnaKontenerAwal, warnaKontener; Color warnaTeksAwal, warnaTeks; JLabel label; Font modelHuruf; JButton jbtKontener, jbtTeks; JPanel panel; TitledBorder border; // Konstruktor public DemoJColorChooser() { modelHuruf = new Font("Tahoma", Font.BOLD + Font.ITALIC, 21); label = new JLabel("Pemrograman Bahasa Java", JLabel.CENTER); label.setFont(modelHuruf); jbtKontener = new JButton("Warna Background"); jbtTeks = new JButton("Warna Teks"); border = new TitledBorder("Tombol Rubah Warna"); panel = new JPanel(); panel.setBorder(border); panel.setLayout(new GridLayout(1, 2)); panel.add(jbtKontener); panel.add(jbtTeks); kontener = getContentPane(); kontener.setLayout(new BorderLayout()); kontener.add(label, BorderLayout.CENTER); kontener.add(panel, BorderLayout.PAGE_END); jbtKontener.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent ae) { warnaKontenerAwal = kontener.getBackground(); warnaKontener = JColorChooser.showDialog(null, "Pilihan Warna", warnaKontenerAwal); if(warnaKontener != null) kontener.setBackground(warnaKontener); } } ); jbtTeks.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent ae) { warnaTeksAwal = label.getForeground(); warnaTeks = JColorChooser.showDialog(null, "Pilihan Warna", warnaTeksAwal); if(warnaTeks != null) label.setForeground(warnaTeks); } } ); } // Metoda main public static void main(String[] args) { DemoJColorChooser frame = new DemoJColorChooser(); frame.setTitle("Kelas DemoJColorChooser"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(315, 150); frame.setVisible(true); } } |
Untuk bisa menggunakan kelas Java JColorChooser sebagai kotak dialog warna, Anda perlu menggunakan metoda showDialog dari kelas tersebut. Kotak dialog warna akan bertindak sebagai modal, artinya Anda tidak dapat berpindah ke jendela (window) yang lain sebelum kotak dialog warna tersebut ditutup (dismissed).
Agar kotak dialog pilihan warna bertindak sebagai modal, argumen dari parameter pertama adalah kelas luar (parent component). Anda dapat mengakses kata kunci (keyword) this
dari kelas luar menggunakan NamaKelasLuar.this, misalnya DemoJColorChooser.this
. Parent component adalah acuan ke jendela dari mana kotak dialog pilihan warna dimunculkan.
Dengan argumen pertama adalah parent component, kotak dialog warna akan ditampilkan di tengah jendela dari parent component tersebut. Bila argumen pertama bernilai null, kotak dialok pilihan warna akan ditampilkan di tengah layar.