Java 中的 JRadioButton 和 JCheckBox 有什么区别?

awtjavaobject oriented programmingprogrammingswing

JRadioButton JCheckBox  组件都可以扩展 JToggleButton  类,主要区别在于 JRadioButton  是一组按钮,其中 一次只能选择一个按钮,而 JCheckBox  是一组复选框,其中 一次可以选择多个项目

JRadioButton

  • JRadioButton  是一个表示处于选中或未选中状态的项目的组件。通常,会创建一组单选按钮来向用户提供选项,但一次只能 选择一个选项
  • JRadioButton将生成ActionListenerChangeListenerItemListener接口。
  • 单选按钮通常成组使用以显示多个选项,因此,它们与ButtonGroup类一起使用。 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

  • JCheckBox 是一个组件,它表示显示 选中或未选中状态 的项目。我们可以通过单击组件的复选框来更改此状态。
  • 标准的 JCheckBox 组件包含一个 复选框 和一个描述复选框用途的 标签
  • JCheckBox 可以生成 ItemListenerActionListener 接口。
  • 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();
         }
      });
   }
}

输出


相关文章