ทั้ง JRadioButton และ JCheckBox ส่วนประกอบสามารถขยาย JToggleButton คลาสความแตกต่างที่สำคัญคือ JRadioButton เป็นกลุ่มของปุ่มที่เลือกได้ครั้งละหนึ่งปุ่มเท่านั้น ในขณะที่ JCheckBox เป็นกลุ่มของช่องทำเครื่องหมายที่สามารถเลือกได้หลายรายการพร้อมกัน .
JRadioButton
- A JRadioButton เป็นส่วนประกอบที่แสดงถึงรายการที่มีสถานะเลือกหรือยกเลิกการเลือก โดยปกติ กลุ่มของปุ่มตัวเลือกจะถูกสร้างขึ้นเพื่อให้ตัวเลือกแก่ผู้ใช้ แต่เท่านั้น สามารถเลือกได้หนึ่งตัวเลือก ทีละครั้ง
- JRadioButton จะสร้าง ActionListener , ChangeListener และ ItemListener อินเทอร์เฟซ
- ปุ่มตัวเลือกมักใช้ในกลุ่มเพื่อแสดงตัวเลือกหลายตัว ดังนั้นจึงใช้กับ ButtonGroup ระดับ. กลุ่มปุ่ม มีคุณสมบัติที่เลือกได้เพียง หนึ่งปุ่มในกลุ่มเท่านั้น ในเวลาที่กำหนดและไม่มีรูปลักษณ์
- วิธีการที่สำคัญของ JRadioButton คือ setText(), getText(), setEnabled(),setMnemonic() และอื่นๆ
ตัวอย่าง
import java.awt.*;
import javax.swing.*;
public class JRadioButtonTest extends JFrame {
public JRadioButtonTest() {
super("JRadioButton Test");
JRadioButton jrb1 = new JRadioButton("Java");
JRadioButton jrb2 = new JRadioButton("Python");
JRadioButton jrb3 = new JRadioButton("Scala");
ButtonGroup group = new ButtonGroup();
group.add(jrb1);
group.add(jrb2);
group.add(jrb3);
setLayout(new FlowLayout());
add(jrb1);
add(jrb2);
add(jrb3);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(450,375);
setLocationRelativeTo(null);
setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new JRadioButtonTest();
}
});
}
} ผลลัพธ์

JCheckBox
- A JCheckBox เป็นองค์ประกอบที่แสดงถึงรายการซึ่งแสดง สถานะที่เลือกหรือไม่ได้เลือก เราสามารถเปลี่ยนสถานะนี้ได้โดยคลิกที่ช่องทำเครื่องหมายของส่วนประกอบ
- มาตรฐาน JCheckBox คอมโพเนนต์มี ช่องทำเครื่องหมาย และ ป้ายกำกับ ที่อธิบายวัตถุประสงค์ของช่องทำเครื่องหมาย
- JCheckBox สามารถสร้าง ItemListener . อย่างใดอย่างหนึ่งได้ หรือ ActionListener อินเทอร์เฟซ
- วิธีการที่สำคัญของ JCheckBox คือ setLabel(), getLabel(), setState(), getState() และอื่นๆ
ตัวอย่าง
import java.awt.*;
import javax.swing.*;
public class JCheckBoxTest extends JFrame {
JCheckBoxTest() {
super("JCheckBox Test");
JLabel lblHobbies = new JLabel("Languages");
JCheckBox chkSports = new JCheckBox("Java");
JCheckBox chkMusic = new JCheckBox("Python ",true);
JCheckBox chkReading = new JCheckBox("Scala");
setLayout(new FlowLayout());
add(lblHobbies);
add(chkSports);
add(chkMusic);
add(chkReading);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(450,375);
setLocationRelativeTo(null);
setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new JCheckBoxTest();
}
});
}
} ผลลัพธ์
