ทั้ง 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(); } }); } }
ผลลัพธ์