Menggunakan kelas JColorChooser Java sebagai komponen

Menggunakan Kelas JColorChooser Sebagai Komponen

Di artikel Mengenal Kelas JColorChooser Di Java, Anda dapat mempelajari materi dasar tentang kelas JColorChooser dan di artikel Kelas JColorChooser Sebagai Kotak Dialog Pilihan Warna, Anda dapat mempelajari contoh program Java kelas JColorChooser sebagai kotak dialog pilihan warna. Selain digunakan sebagai kotak dialog pilihan warna, kelas JColorChooser juga digunakan sebagai komponen yang dapat diletakkan di dalam kelas-kelas wadah seperti JFrame, JPanel, JApplet, Container dan sebagainya.

Di contoh program Java kali ini, obyek kelas JColorChooser merupakan komponen yang diletakkan di obyek kelas Container yaitu obyek dari metoda getContentPane kelas JFrame atau JApplet. Berikut ini adalah kode program kelas JColorChooser yang digunakan sebagai komponen:

Baca artikel:

 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
// Nama file : DemoJColorChooser2.java
// JColorChooser sebagai komponen
 
// Mengimpor kelas
import java.awt.*;
import javax.swing.event.*;
import javax.swing.*;
import javax.swing.border.TitledBorder;
import javax.swing.colorchooser.ColorSelectionModel;
 
// Mendeklarasikan kelas
public class DemoJColorChooser2 extends JFrame {
 
   private JLabel label;
   private Font font;
   private JColorChooser colorChooser;
   private TitledBorder border;
   private Color cForeground, newCForeground;
   private ColorSelectionModel model;
   private Container container;
    
   // Konstruktor kelas DemoJColorChooser2
   public DemoJColorChooser2() {
 
      font = new Font("Tahoma", Font.BOLD + Font.ITALIC, 22);
      label = new JLabel("Java Mudah Dipelajari", JLabel.CENTER);
      label.setFont(font);
      cForeground = label.getForeground();
 
      border = new TitledBorder("Pilihan Warna Teks");
      colorChooser = new JColorChooser(cForeground);
      colorChooser.setBorder(border);
      model = colorChooser.getSelectionModel();
 
      container = getContentPane();
      container.setBackground(Color.WHITE);
      container.setLayout(new BorderLayout());
      container.add(label, BorderLayout.PAGE_START);
      container.add(colorChooser, BorderLayout.CENTER);    
 
      model.addChangeListener(
         new ChangeListener() {
            public void stateChanged(ChangeEvent ce) {
               newCForeground = colorChooser.getColor();
               label.setForeground(newCForeground);
            }
         }
      );
   }
 
   // Metoda main
   public static void main(String[] args) {
      DemoJColorChooser2 frame = new DemoJColorChooser2();
      frame.setTitle("Kelas DemoJColorChooser");
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame.setSize(370, 350);
      frame.setVisible(true);
   }
}

Menggunakan kelas JColorChooser sebagai komponen

Kelas JColorChooser digunakan sebagai komponen dan diletakkan di obyek content pane kelas JFrame. Baris nomor 31 adalah pernyataan membuat obyek color chooser. Argumen kontruktor kelas ini adalah variabel acuan cForeground yang mengacu ke obyek warna dan digunakan oleh obyek color chooser sebagai warna awal yang terpilih.

Baca artikel Pengantar Pemrograman Grafis Java: Kelas Color

Ketika sebuah warna diklik, change event dipicu. Change event ini tidak dipicu oleh obyek color chooser, melainkan oleh obyek ColorSelectionModel (variabel acuan model) yaitu data model yang menangani pemilihan warna. Data model ini dihasilkan oleh metoda getSelectionModel dari kelas JColorChooser.

Baca artikel Mengatur Letak Komponen Menggunakan Kelas BorderLayout Di java

Obyek sumber (model) kemudian meregistrasi obyek pendengar event (anonymous inner class) menggunakan metoda registrasi addChangeListener (baris nomor 41). Di anonymous inner class, metoda stateChanged dideklarasikan di baris nomor 43. Metoda ini akan dieksekusi ketika warna di obyek color chooser diklik.

Di blok metoda ini, pernyataan baris nomor 44 digunakan untuk memperoleh warna dari obyek color chooser dan kemudian menyimpannya di variabel newCForeground. Warna yang tersimpan di variabel newCForeground kemudian digunakan untuk mengatur ulang warna teks atau string di obyek label (pernyataan baris nomor 45).

SUKAI DAN BAGIKAN ARTIKEL INI:
Pin It