Banner Java

Contoh Program Kelas JRadioButton: Merubah Warna Teks Di Label

Untuk Anda yang pekerjaan sehari-hari tidak lepas dengan program aplikasi, mungkin tidak akan asing dengan keberadaan tombol radio (radio button). Tombol radio lazim ada di antar muka pengguna grafis (user interface) apa saja. Sebagaimana bahasa pemrograman pada umumnya yang menyediakan fitur untuk membuat komponen grafis berupa tombol radio, Java juga menyediakan sebuah kelas grafis untuk menghasilkan obyek berupa tombol radio. Kelas grafis tersebut adalah JRadioButton. Di artikel Mengenal Kelas JRadioButton Di Java, Anda diperkenalkan dengan kelas JRadioButton terutama terkait dengan konstruktor-konstruktor (constructors) yang dimilikinya.

Di artikel Contoh Program Kelas JCheckBox: Merubah Tampilan Teks Di Label, Anda dapat mempelajari contoh program Java sederhana tentang mengatur tampilan teks di label menggunakan obyek kotak centang (check box) yang dikonstruksi dari kelas JCheckBox. Di artikel kali ini, Anda akan diberikan contoh program Java sederhana yang hampir serupa namun pengaturan tampilan warna teks di label menggunakan tombol radio (radio button) yang dikonstruksi dari kelas JRadioButton.

// Nama file : RadioButtonDemo.java
// Mendemonstrasikan penggunaan JRadioButton

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

// Deklarasi kelas
public class RadioButtonDemo extends JFrame implements ActionListener {

   private JPanel panel;
   private JLabel label;
   private JRadioButton black, red, green, blue, magenta, orange;

   public RadioButtonDemo() {

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

      black = new JRadioButton("BLACK", true);
      red = new JRadioButton("RED");
      green = new JRadioButton("GREEN");
      blue = new JRadioButton("BLUE");
      magenta = new JRadioButton("MAGENTA");
      orange = new JRadioButton("ORANGE");
 
      // Meletakkan dan menyusun obyek radio button di panel
      panel = new JPanel();
      panel.setLayout(new GridLayout(2, 3));
      panel.add(black);
      panel.add(red);
      panel.add(green);
      panel.add(blue);
      panel.add(magenta);
      panel.add(orange);
      getContentPane().add(panel, BorderLayout.PAGE_END);

      // Mengelompokkan radio button
      ButtonGroup group = new ButtonGroup();
      group.add(black);
      group.add(red);
      group.add(green);
      group.add(blue);
      group.add(magenta);
      group.add(orange);
      
      // Meregistrasi listener
      black.addActionListener(this);
      red.addActionListener(this);      
      green.addActionListener(this);
      blue.addActionListener(this);
      magenta.addActionListener(this);
      orange.addActionListener(this);
   }

   // Deklarasi metoda actionPerformed
   public void actionPerformed(ActionEvent ae) {

      if (ae.getSource() == black)
         label.setForeground(Color.BLACK);

      if (ae.getSource() == red)
         label.setForeground(Color.RED);

      if (ae.getSource() == green)
         label.setForeground(Color.GREEN);

      if (ae.getSource() == blue)
         label.setForeground(Color.BLUE);

      if (ae.getSource() == magenta)
         label.setForeground(Color.MAGENTA);

      if (ae.getSource() == orange)
         label.setForeground(Color.ORANGE);
   }

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

      RadioButtonDemo frame = new RadioButtonDemo();
      frame.setTitle("Kelas RadioButtonDemo");
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame.setSize(320, 170);
      frame.setVisible(true);
   }
}

Sebuah tombol radio button dapat memicu adanya ActionEvent atau ItemEvent. Contoh program di atas menggunakan ActionEvent untuk merespon aksi yang dilakukan oleh pengguna aplikasi saat tombol radio button diklik (selected). Saat salah satu tombol radio button diklik, metoda actionPerformed di baris nomor 61 – 80 dieksekusi. Metoda tersebut akan merubah warna teks label (obyek dari kelas JLabel) sesuai dengan warna yang diwakili oleh tombol radio button yang diklik (dipilih).

Contoh program kelas JRadioButton

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.