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


JRadioButtonJCheckBox 组件都可以扩展 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();
         }
      });
   }
}

输出

更新于:2020年2月7日

2K+ 浏览量

启动你的职业生涯

通过完成课程获得认证

开始学习
广告
© . All rights reserved.