1. 程式人生 > 程式設計 >Java Swing JCheckBox複選框的實現方法

Java Swing JCheckBox複選框的實現方法

1. 概述

官方JavaDocsApi:javax.swing.JCheckBox

JCheckBox,複選框。

JCheckBox 常用構造方法:

// 無文字,預設未選中
JCheckBox()

// 有文字,預設未選中
JCheckBox(String text)

// 有文字,並指定是否選中
JCheckBox(String text,boolean selected)

JCheckBox 常用方法:

// 設定複選框的 文字、字型 和 字型顏色
void setText(String text)
void setFont(Font font)
void setForeground(Color fg)

/* 以下方法定義在 javax.swing.AbstractButton 基類中 */

// 設定複選框是否選中狀態
void setSelected(boolean b)

// 判斷複選框是否選中
boolean isSelected()

// 設定複選框是否可用
void setEnabled(boolean enable)

// 設定圖片和文字的間距
void setIconTextGap(int iconTextGap)

JCheckBox 常用監聽器:

// 新增狀態改變監聽器
void addChangeListener(ChangeListener l)

2. 程式碼例項

package com.xiets.swing;

import javax.swing.*;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;

public class Main {

  public static void main(String[] args) {
    JFrame jf = new JFrame("測試視窗");
    jf.setSize(250,250);
    jf.setLocationRelativeTo(null);
    jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

    JPanel panel = new JPanel();

    // 建立複選框
    JCheckBox checkBox01 = new JCheckBox("菠蘿");
    JCheckBox checkBox02 = new JCheckBox("香蕉");
    JCheckBox checkBox03 = new JCheckBox("雪梨");
    JCheckBox checkBox04 = new JCheckBox("荔枝");
    JCheckBox checkBox05 = new JCheckBox("橘子");
    JCheckBox checkBox06 = new JCheckBox("蘋果");

    // 新增第一個複選框的狀態被改變的監聽(其他複選框如果需要監聽狀態改變,則可按此方法新增監聽)
    checkBox01.addChangeListener(new ChangeListener() {
      @Override
      public void stateChanged(ChangeEvent e) {
        // 獲取事件源(即複選框本身)
        JCheckBox checkBox = (JCheckBox) e.getSource();
        System.out.println(checkBox.getText() + " 是否選中: " + checkBox.isSelected());
      }
    });

    // 設定預設第一個複選框選中
    checkBox01.setSelected(true);

    panel.add(checkBox01);
    panel.add(checkBox02);
    panel.add(checkBox03);
    panel.add(checkBox04);
    panel.add(checkBox05);
    panel.add(checkBox06);

    jf.setContentPane(panel);
    jf.setVisible(true);
  }

}

結果展示:

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。