Menggunakan kelas JColorChooser Java sebagai kotak dialog pilihan warna

Kelas JColorChooser Sebagai Kotak Dialog Pilihan Warna

Di artikel Mengenal Kelas JColorChooser Di Java, Anda diperkenalkan pada materi dasar program Java tentang kelas JColorChooser. Sebagaimana yang telah dijelaskan di artikel tersebut, JColorChooser dapat digunakan dengan dua cara yaitu sebagai kotak dialog warna dan sebagai komponen.

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

// 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);
   }
}

Menggunakan kelas Java JColorChooser sebagai kotak dialog

Untuk menggunakan kelas Java JColorChooser sebagai kotak dialog warna, Anda dapat 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.

SUKAI DAN BAGIKAN ARTIKEL INI:
Pin It