JRadioButton trong Java Swing

JRadioButton được dùng để tạo ra các Radio Button cho phép người dùng có thể lựa chọn một trong số các tuỳ chọn được cung cấp. Nó thường được dùng trong các khảo sát về mức độ hài lòng, hay các bài thi trắc nghiệm, etc.

Chúng ta cần thêm một radio button vào một ButtonGroup vì vậy người dùng chỉ được chọn một trong số số các radio button tại một thời điểm cụ thể.

Khởi tạo RadioButton

Để tạo một radio button chúng ta có các constructor như sau:

  • JRadioButton() – Khởi tạo JRadioButton rỗng.
  • JButton(String s) – Khởi tạo JRadioButton với nhãn được chỉ định.

Để sử dụng các JRadioButton chúng ta cần thêm chúng bào một ButtonGroup và sử dụng add() method để thêm các radio button vào. 

ButtonGroup G = new ButtonGroup();

G.add(Button1);
G.add(Button2);

Ví dụ tạo một ButtonGroup với 3 Radio Button Linux, Windows và Macintosh.

import javax.swing.*;
import java.awt.*;

class SwingJRadioButtonDemo {


    public static void main(String[] args) {
        JFrame jFrame = new JFrame("Swing JRadioButton Demo");
        JRadioButton option1 = new JRadioButton("Linux");
        JRadioButton option2 = new JRadioButton("Windows");
        JRadioButton option3 = new JRadioButton("Macintosh");

        // Gom nhom 3 JRadioButton vao ButtonGroup
        ButtonGroup group = new ButtonGroup();
        group.add(option1);
        group.add(option2);
        group.add(option3);

        // Them 3 JRadioButton vao JFrame
        jFrame.add(option1);
        jFrame.add(option2);
        jFrame.add(option3);

        jFrame.setLayout(new FlowLayout());
        jFrame.pack();
        jFrame.setLocationRelativeTo(null);
        jFrame.setVisible(true);
    }
}

Output

Xử lý sự kiện trong JRadioButton

Cùng với ví dụ trên chúng ta sẽ tiến hành xử lý sự kiện mỗi khi người dùng nhấp vào một JRadioButton nào thì sẽ sử dụng JOptionPanel để hiển thị một hộp thoại thông báo tên của radio button được chọn.

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

class SwingJRadioButtonDemo {


    public static void main(String[] args) {
        JFrame jFrame = new JFrame("Swing JRadioButton Demo");
        JRadioButton option1 = new JRadioButton("Linux");
        JRadioButton option2 = new JRadioButton("Windows");
        JRadioButton option3 = new JRadioButton("Macintosh");

        ActionListener listener = new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                if (e.getSource() == option1) {
                    JOptionPane.showMessageDialog(jFrame, "Linux duoc chon");
                }

                if (e.getSource() == option2) {
                    JOptionPane.showMessageDialog(jFrame, "Windows duoc chon");
                }

                if (e.getSource() == option3) {
                    JOptionPane.showMessageDialog(jFrame, "Macintosh duoc chon");
                }
            }
        };

        option1.addActionListener(listener);
        option2.addActionListener(listener);
        option3.addActionListener(listener);

        // Gom nhom 3 JRadioButton vao ButtonGroup
        ButtonGroup group = new ButtonGroup();
        group.add(option1);
        group.add(option2);
        group.add(option3);

        // Them 3 JRadioButton vao JFrame
        jFrame.add(option1);
        jFrame.add(option2);
        jFrame.add(option3);

        jFrame.setLayout(new FlowLayout());
        jFrame.pack();
        jFrame.setLocationRelativeTo(null);
        jFrame.setVisible(true);
    }
}

Output

Nguồn tham khảo

https://www.codejava.net/java-se/swing/jradiobutton-basic-tutorial-and-examples

https://www.geeksforgeeks.org/jradiobutton-java-swing/

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x