Banner Java

Contoh Program Kelas JCheckBox: Merubah Tampilan Teks Di Label

Untuk Anda yang pekerjaan sehari-harinya tidak lepas dengan program aplikasi, mungkin tidak akan asing dengan keberadaan kotak centang (check box). Kotak centang lazim ada di antar muka pengguna grafis (user interface). Sebagaimana bahasa pemrograman pada umumnya yang dapat menghasilkan komponen grafis berupa kotak centang, Java juga menyediakan sebuah kelas grafis untuk menghasilkan obyek berupa kotak centang. Kelas grafis tersebut adalah JCheckBox. Di artikel Mengenal Kelas JCheckBox Di Java, Anda diperkenalkan dengan kelas tersebut terutama terkait dengan konstruktor (constructors) yang dimilikinya.

Berikut ini adalah contoh program Java yang menggunakan kelas JCheckBox. Di kode program ini, kotak centang (check box) yang dikonstruksi dari kelas JCheckBox digunakan untuk mengatur tampilan teks di label. Anda dapat memberi centang atau menghilangkan centang di empat tombol check box yang tersedia untuk membuat tampilan font menjadi bold, italic, berwarna biru atau kombinasi di antaranya.

// Nama file : CheckBoxDemo.java
// Mendemonstrasikan penggunaan JCheckBox

// Mengimpor kelas
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

// Deklarasi kelas
public class CheckBoxDemo extends JFrame {

   private JPanel panel;
   private JLabel label;
   private JCheckBox warna, bold, italic;

   public CheckBoxDemo() {

      Font font = new Font("Tahoma", Font.PLAIN, 20);
      label = new JLabel("Mari belajar bahasa Java", JLabel.CENTER);
      label.setFont(font);
      label.setBackground(Color.WHITE);
      getContentPane().add(label, BorderLayout.CENTER);

      warna = new JCheckBox("Blue");
      warna.setBackground(Color.YELLOW);
      bold = new JCheckBox("Bold");
      bold.setBackground(Color.YELLOW);
      italic = new JCheckBox("Italic");
      italic.setBackground(Color.YELLOW);

      panel = new JPanel();
      panel.setLayout(new FlowLayout(FlowLayout.CENTER, 12, 3));
      panel.setBackground(Color.YELLOW);
      panel.add(warna);
      panel.add(bold);
      panel.add(italic);
      getContentPane().add(panel, BorderLayout.PAGE_END);

      ItemEventHandler handler = new ItemEventHandler();
      warna.addItemListener(handler);
      bold.addItemListener(handler);
      italic.addItemListener(handler);
   }

   // Deklarasi inner class
   class ItemEventHandler implements ItemListener {
   
      private Color nilaiWarna = Color.BLACK;
      private int nilaiBold = Font.PLAIN;
      private int nilaiItalic = Font.PLAIN;

      // Deklarasi ulang metoda itemStateChanged
      public void itemStateChanged(ItemEvent ie) {
   
         if (ie.getSource() == warna)
            nilaiWarna = warna.isSelected() ? Color.BLUE : Color.BLACK;

         if (ie.getSource() == bold)
            nilaiBold = bold.isSelected() ? Font.BOLD : Font.PLAIN;

         if (ie.getSource() == italic)
            nilaiItalic = italic.isSelected() ? Font.ITALIC : Font.PLAIN;

         label.setFont(new Font("Tahoma", nilaiBold + nilaiItalic, 20));
         label.setForeground(nilaiWarna);
      }
   }

   // Metoda main
   public static void main(String[] args) {

      CheckBoxDemo frame = new CheckBoxDemo();
      frame.setTitle("Kelas CheckBoxDemo");
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame.setSize(300, 150);
      frame.setVisible(true);
   }
}

Tombol check box dapat memicu ActionEvent atau ItemEvent. Anda dapat menggunakan salah satu event untuk menampilkan kembali perubahan tampilan teks yang terdapat di label. Ketika tombol check box mana saja diklik (selected) atau diklik kembali (unselected), blok metoda itemStateChanged (baris nomor 53 – 67) dieksekusi. Program akan mendeteksi tombol check box mana yang sedang memicu ItemEvent. Apabila tombol check box dengan nama warna, pernyataan di baris nomor 56 dieksekusi, apabila tombol check box dengan nama bold, pernyataan di baris nomor 59 dieksekusi dan apabila tombol check box dengan nama italic, pernyataan di baris nomor 62 dieksekusi.

Baris nomor 64 di blok metoda itemStateChanged adalah pernyataan untuk mendapatkan nama dan ukuran font yang terdapat di label. Model font label (Font.BOLD dan Font.ITALIC) kemudian dirubah berdasarkan dua tombol check box bold dan italic, sedangkan nama dan ukuran font sama dengan nama dan ukuran font label sebelumnya. Apabila kedua tombol check box tidak dipilih (unselected) maka model font label menggunakan Font.PLAIN. Baris nomor 65 adalah pernyataan untuk merubah warna font label berdasarkan tombol check box warna. Apabila tombol check box tidak dipilih (unselected), maka warna font label adalah hitam (Color.BLACK).

Contoh program Java kelas JCheckBox

Baca artikel terkait lainnya:

Untuk memperbaiki mutu konten, Anda dapat berpartisipasi dengan cara melaporkan apabila menemukan kesalahan ketik, kata-kata rangkap, redaksi kurang pas (jelas), gambar pendukung tidak ada dan sebagainya melalui form Kontak Kami untuk mendapatkan perbaikan. Terima kasih atas kerjasamanya.

Hindro HindriantoHindro adalah pendiri sekaligus admin termasmedia.com dan topikit.com, blog online yang mengulas teknologi informasi. Dunia web mulai ditekuni tahun 2012 dengan mempelajari CMS Joomla dan Wordpress. Beberapa buku yang sekarang dipelajari antara lain PHP, HTML5, ASP.NET 4.5, JavaScript, CSS3, MySQL, Adobe Dreamweaver, Adobe Photoshop dan Adobe Flash.