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.