BLANTERORBITv102

    Cara Membuat jRadioButton Pada Komponen Swing di Java

    Kamis, 20 Agustus 2015
    Radio button pada komponen swing dijava merupakan komponen yang digunakan dalam suatu pemilihan. Radio button memungkinkan kita untuk memilih satu dari begitu banyak pilihan yang tersedia. Komponen ini juga sangat sering digunakan dalam membuat suatu sistem informasi. Berikut kode program untuk membuat radio button di java yang simple. 
    package palette;
    import java.awt.Dimension;
    import java.awt.GridLayout;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JRadioButton;
    /**
     *
     * @author Java Developer
     */
    public class belajarRadio extends JFrame{
        JLabel label = new JLabel("Apa Makanan Kesukaan Mu?" ,JLabel.CENTER);
        JRadioButton radio1 = new JRadioButton("A. Sari Roti");
        JRadioButton radio2 = new JRadioButton("B. Nasi Ampera 8000");
        JRadioButton radio3 = new JRadioButton("C. Masakan Ibu");
        JRadioButton radio4 = new JRadioButton("D. Masakan dikasih");
        JRadioButton radio5 = new JRadioButton("E. Semua jenis makanan");
        public belajarRadio(){
            JFrame frame = new JFrame("Belajar Radio Button - JSC");
            frame.setVisible(true);
            frame.setLocationRelativeTo(null);
            frame.setSize(new Dimension(300, 300));
            frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
            frame.setLayout(new GridLayout(6, 1));
            frame.add(label);
            frame.add(radio1);
            radio1.setHorizontalAlignment(JRadioButton.CENTER);
            frame.add(radio2);
            radio2.setHorizontalAlignment(JRadioButton.CENTER);
            frame.add(radio3);
            radio3.setHorizontalAlignment(JRadioButton.CENTER);
            frame.add(radio4);
            radio4.setHorizontalAlignment(JRadioButton.CENTER);
            frame.add(radio5);
            radio5.setHorizontalAlignment(JRadioButton.CENTER);
        }
        public static void main(String[] args) {
            new belajarRadio();
        }
    }
    Maka output yang dihasilkan dari kode program di atas seperti gambar dibawah ini.

    Gambar 1 - jRadioButton Pada Komponen Swing
    Gambar 1

    Penjelasan :
    Baris 13 - 17 merupakan kode program untuk membuat radio button.
    Baris 26 - 35 merupakan kode program untuk menambah komponen radio button pada frame.

    Namun pada output diatas , semua pilihan dapat kita pilih. Hal ini tentu tidak sesuai dengan penjelasan mengenai radio button diatas. Lalu bagaimana agar hanya dapat memilih satu pilihan pada radio button. Silahkan perhatikan kode program berikut dengan kondisi pemilihan yang berbeda.
    package palette;
    import java.awt.Dimension;
    import java.awt.GridLayout;
    import javax.swing.ButtonGroup;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JRadioButton;
    /**
     *
     * @author Java Developer
     */
    public class belajarRadio extends JFrame{
        JLabel label = new JLabel("Gender : " ,JLabel.CENTER);
        JRadioButton radio1 = new JRadioButton("Male");
        JRadioButton radio2 = new JRadioButton("Female");
        ButtonGroup grup = new ButtonGroup();
        public belajarRadio(){
            JFrame frame = new JFrame("Belajar Radio Button - JSC");
            frame.setVisible(true);
            frame.setLocationRelativeTo(null);
            frame.setSize(new Dimension(300, 100));
            frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
            frame.setLayout(new GridLayout(1, 1));
            frame.add(label);
            frame.add(radio1);
            radio1.setHorizontalAlignment(JRadioButton.CENTER);
            grup.add(radio1);
            frame.add(radio2);
            radio2.setHorizontalAlignment(JRadioButton.CENTER);
            grup.add(radio2);
        }
        public static void main(String[] args) {
            new belajarRadio();
        }
    }
    Output yang dihasilkan dari kode program diatas seperti gambar dibawah ini.

    Gambar 2 - jRadioButton Pada Komponen Swing
    Gambar 2

    Penjelasan :
    Agar kita hanya dapat memilih satu pilihan pada radio button, kita harus menggunakan button group. Perhatikan baris 27 dan 30 pada kode program di atas.

    Melakukan beberapa kostumisasi (LaF) pada radio button, silahkan perhatikan kode program dibawah ini.
    package palette;
    import java.awt.Color;
    import java.awt.Dimension;
    import java.awt.Font;
    import java.awt.GridLayout;
    import javax.swing.ButtonGroup;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JRadioButton;
    /**
     *
     * @author Java Developer
     */
    public class belajarRadio extends JFrame{
        JLabel label1 = new JLabel("Gender : " ,JLabel.CENTER);
        JLabel label2 = new JLabel("Jenis Kelamin : " ,JLabel.CENTER);
        JRadioButton radio1 = new JRadioButton("Male");
        JRadioButton radio2 = new JRadioButton("Female");
        JRadioButton radio3 = new JRadioButton("Laki-laki");
        JRadioButton radio4 = new JRadioButton("Perempuan");
        ButtonGroup grupEn = new ButtonGroup();
        ButtonGroup grupId = new ButtonGroup();
        Font font = new Font("Agency Fb", Font.BOLD , 15);
        Color warna = Color.decode("#f75461");
        public belajarRadio(){
            JFrame frame = new JFrame("Belajar Radio Button - JSC");
            frame.setVisible(true);
            frame.setLocationRelativeTo(null);
            frame.setSize(new Dimension(300, 100));
            frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
            frame.setLayout(new GridLayout(2, 1));
            frame.add(label1 );
            frame.add(radio1);
            radio1.setBackground(Color.decode("#58aae4"));
            grupEn.add(radio1);
            frame.add(radio2);
            radio2.setBackground(Color.decode("#f7ae1d"));
            grupEn.add(radio2);
            frame.add(label2 );
            frame.add(radio3);
            radio3.setSelected(true);
            radio3.setFont(font);
            radio3.setForeground(warna);
            grupId.add(radio3);
            frame.add(radio4);
            radio4.setFont(font);
            radio4.setForeground(warna);
            grupId.add(radio4);
        }
        public static void main(String[] args) {
            new belajarRadio();
        }
    }
    Output dari kode program diatas adalah seperti gambar dibawah.

    Gambar 3 - jRadioButton Pada Komponen Swing
    Gambar 3

    Masih banyak lagi cara untuk menseting Laf pada radio button, silahkan anda eksplor sebanyak mungkin dari radio button di java. Anda juga dapat berbagi pengalaman mengenai pembuatan radio button melalui kolom komentar blog.

    Terimakasih sudah berkesempatan untuk menimba ilmu dari blog JSC, semoga ilmu yang di share dapat bermanfaat. Jika ada pertanyaan mengenai ilmu yang terkait ataupun tidak, mari kita berdiskusi di dalam kolom komentar ini.

    Keep Learning and Keep Sharing