Di artikel Contoh Program Java Kelas JCheckBox Mengubah Tampilan Teks Di Label, Anda dapat mempelajari program Java sederhana tentang mengatur tampilan teks di label menggunakan obyek check box kelas JCheckBox. Di artikel kali ini, Anda diberikan contoh program yang hampir serupa namun pengaturan tampilan warna teks pada label menggunakan tombol radio (radio button) kelas JRadioButton.
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 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | // 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); } } |
Tombol radio dapat memicu ActionEvent atau ItemEvent. Contoh program di atas menggunakan ActionEvent untuk merespon aksi pengguna aplikasi saat tombol radio button diklik (selected). Saat salah satu tombol radio button diklik, metoda actionPerformed di baris nomor 61 – 80 dieksekusi. Metoda ini mengubah warna teks labelkelas JLabel sesuai dengan warna yang diwakili tombol radio button yang diklik (dipilih).