Java 入門圖形用戶界面設計之復選框

Java程序設計 圖形用戶界面 【十】復選框

復選框JCheckBox

JCheckBox類

方法 作用
public JCheckBox(Icon icon) 創建一個帶圖標的對象,但不選定
public JCheckBox(Icon icon,boolean selected) 創建一個帶圖標的對象,並指定其是否選定
public JCheckBox(String text) 創建一個帶文本的對象,但不選定
public JCheckBox(String text,boolean selected) 創建一個帶文本的對象,並指定其是否選定
public JCheckBox(String text,Icon icon,boolean selected) 創建一個帶文本和圖標的對象,並指定其是否被選定
import javax.swing.*;
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

class MyCheckBox{
    private JFrame frame = new JFrame("一");
    private Container cont =frame.getContentPane();
    private JCheckBox jcb1 = new JCheckBox("A");
    private JCheckBox jcb2 = new JCheckBox("B");
    private JCheckBox jcb3 = new JCheckBox("C");
    private JPanel pan = new JPanel();
    public MyCheckBox(){
        pan.setBorder(BorderFactory.createTitledBorder("請選擇"));
        pan.setLayout(new GridLayout(1,3));
        pan.add(this.jcb1);
        pan.add(this.jcb2);
        pan.add(this.jcb3);
        cont.add(pan);
        this.frame.setSize(330,80);
        this.frame.setVisible(true);
        this.frame.addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                super.windowClosing(e);
                System.exit(1);
            }
        });
    }
}
public class Hello {
    public static void main(String[] args) {
        new MyCheckBox();
    }
}

image-20220214160813029

與單選按鈕不同的是,此時選擇的地方變成瞭“□”型,與各個系統中常見的復選框形式是一樣的

JCheckBox事件處理

JCheckBox和JRadioButton的事件處理監聽接口是一樣的,都是使用ItemListener接口

使用ItemListener接口進行事件的監聽

方法 作用
void itemStateChanged(ItemEvent e) 當用戶取消或選定某個選項時調用

ItemEvent類

方法&常量 類型 作用
public static final int SELECTED 常量 選項被選中
public static final int DESELECTED 常量 選項未被選中
public Object getItem() 方法 返回受事件影響的選項
public int getStateChange() 方法 返回選定狀態的類型(已選擇或已取消)
import javax.swing.*;
import java.awt.*;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;


class MyCheckBox {
    private JFrame frame = new JFrame("一");
    private Container cont = frame.getContentPane();
    private JCheckBox jcb1 = new JCheckBox("A");
    private JPanel pan = new JPanel();
    private JLabel a = new JLabel("未選中");
    public MyCheckBox(){
        pan.setLayout(new GridLayout(1,2));
        pan.add(a);
        pan.add(this.jcb1);
        jcb1.addItemListener(new ItemListener() {
            @Override
            public void itemStateChanged(ItemEvent e) {
                JCheckBox jcb = (JCheckBox) e.getItem();
                if(jcb.isSelected()){
                    a.setText("選中");
                }else {
                    a.setText("未選中");
                }
            }
        });
        cont.add(pan);
        this.frame.setSize(300,100);
        this.frame.setVisible(true);
        this.frame.addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                super.windowClosing(e);
                System.exit(1);
            }
        });
    }
}
public class Hello {
    public static void main(String[] args) {
        new MyCheckBox();
    }
}

image-20220214162339305

image-20220214162350537

選中選項改變 文字

到此這篇關於Java 入門圖形用戶界面設計之復選框的文章就介紹到這瞭,更多相關Java 復選框內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: