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
01 | class TampilanChicRadio extends JFrame implements ActionListener{ |
04 | JLabel lNama, lJnsKelamin, lPanggilan; |
08 | JPanel panel1, panel2, panel3; |
14 | public TampilanChicRadio() { |
15 | setTitle( "Chic Radio" ); |
17 | setLocation( 300 , 300 ); |
18 | setDefaultCloseOperation(EXIT_ON_CLOSE); |
21 | lNama = new JLabel( "Nama" ); |
22 | lJnsKelamin = new JLabel( "Jenis Kelamin" ); |
24 | lPanggilan = new JLabel( " " , SwingConstants.CENTER); |
25 | lPanggilan.setFont( new Font( "Arial" , Font.BOLD, 20 )); |
27 | textNama = new JTextField( 10 ); |
29 | rbMale = new JRadioButton( "Male" ); |
30 | rbMale.setForeground(cl.BLUE); |
31 | rbFem = new JRadioButton( "Female" ); |
32 | rbFem.setForeground(cl.BLUE); |
35 | bg = new ButtonGroup(); |
40 | panel1 = new JPanel(); |
41 | panel1.setLayout( new FlowLayout()); |
45 | panel2 = new JPanel(); |
46 | panel2.setLayout( new GridLayout( 3 , 1 )); |
47 | panel2.add(lJnsKelamin); |
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); |
64 | rbMale.addActionListener( this ); |
65 | rbFem.addActionListener( this ); |
71 | public void actionPerformed(ActionEvent e){ |
74 | Object ob = e.getSource(); |
77 | String name = textNama.getText(); |
79 | lPanggilan.setText( "Uda " + name); |
81 | rbMale.setForeground(cl.RED); |
82 | rbFem.setForeground(cl.BLUE); |
83 | } else if (ob == rbFem){ |
84 | lPanggilan.setText( "Uni " + name); |
86 | rbFem.setForeground(cl.RED); |
87 | rbMale.setForeground(cl.BLUE); |
3. Panggil class TampilanChicRadio pada class utama
1 | public class ChicRadio { |
2 | public static void main(String[] args) { |
3 | TampilanChicRadio tcr = new TampilanChicRadio(); |
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.