Tutorial Cara Menggunakan JRadioButton

Komponen JRadioButton digunakan untuk menampilkan beberapa item pilihan yang hanya dapat dipilih pada satu item. Item-item tersebut disatukan menjadi sebuah kelompok dengan menggunakan ButtonGroup.
Berikut adalah beberapa Constructor yang dapat digunakan untuk membentuk objek dari class JRadioButton:
JRadioButton(Icon i)
JRadioButton(Iconi, boolean state)

JRadioButton(String s)
JRadioButton(String s, boolean state)
JRadioButton(String, Icon i)
JRadioButton(String s , Icon i, boolean state)

s adalah label yang dijadikan teks/judul, i adalah icon yang akan disertakan, dan state adalah status dari item yang bersangkutan (apakah dipilih atau tidak).
Berikut adalah pengaplikasian JRadioButton dengan desain UI yang lebih chic :-)
1. Buatlah sebuah class baru (Main Class)
2. Buatlah class kedua (masih dalam file java yang sama dengan no.1) yang meng-extends JFrame dan meng-implements ActionListener
Berikut code-nya

01class TampilanChicRadio extends JFrame implements ActionListener{
02     
03    //Step 1
04    JLabel lNama, lJnsKelamin, lPanggilan;
05    JTextField textNama;
06    JRadioButton rbMale;
07    JRadioButton rbFem;
08    JPanel panel1, panel2, panel3;
09     
10    Color cl;
11    ButtonGroup bg;
12    Container c;   
13     
14    public TampilanChicRadio() {
15        setTitle("Chic Radio");
16        setSize(300, 150);
17        setLocation(300, 300);
18        setDefaultCloseOperation(EXIT_ON_CLOSE);
19         
20        //Step 2
21        lNama = new JLabel("Nama");
22        lJnsKelamin = new JLabel("Jenis Kelamin");
23         
24        lPanggilan = new JLabel(" ", SwingConstants.CENTER);
25        lPanggilan.setFont(new Font("Arial", Font.BOLD, 20));
26         
27        textNama = new JTextField(10);
28         
29        rbMale = new JRadioButton("Male");
30        rbMale.setForeground(cl.BLUE);
31        rbFem = new JRadioButton("Female");
32        rbFem.setForeground(cl.BLUE);
33         
34        //Mengelompokkan RadioButton dalam ButtonGroup
35        bg = new ButtonGroup();
36        bg.add(rbMale);
37        bg.add(rbFem);
38         
39        //Step 3
40        panel1 = new JPanel();
41        panel1.setLayout(new FlowLayout());
42        panel1.add(lNama);
43        panel1.add(textNama);
44         
45        panel2 = new JPanel();
46        panel2.setLayout(new GridLayout(3,1));
47        panel2.add(lJnsKelamin);
48        panel2.add(rbMale);
49        panel2.add(rbFem);
50         
51        panel3 = new JPanel();
52        panel3.setLayout(new BorderLayout());
53        panel3.add(panel1, BorderLayout.NORTH);
54        panel3.add(panel2, BorderLayout.CENTER);
55        panel3.add(lPanggilan, BorderLayout.SOUTH);
56         
57        //Step 4
58        c = new Container();
59        c = getContentPane();
60        c.add(panel3);
61                 
62        //Step 5 -> implements ActionListener
63        //Step 6
64        rbMale.addActionListener(this);    
65        rbFem.addActionListener(this);
66         
67        setVisible(true);
68    }
69     
70    //Step 7
71    public void actionPerformed(ActionEvent e){
72         
73        //Step 8
74        Object ob = e.getSource();
75         
76        //Step 9
77        String name = textNama.getText();
78        if(ob == rbMale) {
79            lPanggilan.setText("Uda " + name);
80            //textNama.setText("");
81            rbMale.setForeground(cl.RED);
82            rbFem.setForeground(cl.BLUE);
83        } else if(ob == rbFem){
84            lPanggilan.setText("Uni " + name);
85            //textNama.setText("");
86            rbFem.setForeground(cl.RED);
87            rbMale.setForeground(cl.BLUE);
88        }      
89    }  
90}
3. Panggil class TampilanChicRadio pada class utama
1public class ChicRadio {
2    public static void main(String[] args) {
3        TampilanChicRadio tcr = new TampilanChicRadio();
4 
5    }
6}
Di sini RadioButton(rbMale dan rbFem) dikelompokkan ke dalam bg (ButtonGroup).
Output
Tampilan awal program dijalankan:

Dimasukkan nama dan di-click pilihan “Female”

Dimasukkan nama dan di-click pilihan “Male”

Code selengkapnya bisa diunduh di sini.

Artikel Lainnya