Swing-JCheckBox用法-入門


JCheckBox是Swing中的復選框。所謂復選框就是指,可以同時存在多個這樣的控件,它們可以有多個處於被選中狀態。對於每一個復選框而言,它只有選中和未選中兩種狀態。

JCheckBox的常用方法如下圖所示:

可以為它添加ActionListener對象來響應事件。

使用demo如下:

JCheckBoxDemo.java

import java.awt.BorderLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

/*
 * source code from 《java核心技術 卷1 基礎知識》 P326
 */
public class JCheckBoxDemo extends JFrame{

    int DEFAULT_WIDTH = 600;
    int DEFAULT_HEIGHT = 400;
    private JLabel label;
    private JCheckBox boldCheckbox;
    private JCheckBox italicCheckbox;
    private static final int FONTSIZE = 12;    
    
    public JCheckBoxDemo(){
        setTitle("JCheckBoxDemo");
        setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
        
        //添加label
        label = new JLabel("The quick brown fox jumps over the lazy dog.");
        label.setFont(new Font("Serif",Font.PLAIN, FONTSIZE));
        add(label, BorderLayout.CENTER);
        
        //構造一個監聽器,響應checkBox事件
        ActionListener actionListener = new ActionListener(){
            public void actionPerformed(ActionEvent e) {
                int mode = 0;
                if(boldCheckbox.isSelected()) mode += Font.BOLD;
                if(italicCheckbox.isSelected()) mode += Font.ITALIC;                
                label.setFont(new Font("Serif", mode, FONTSIZE));
            }
        };
        
        //添加buttonPanel,它包含2個checkBox
        JPanel buttonPanel = new JPanel();
        add(buttonPanel, BorderLayout.SOUTH);
        
        //為buttonPanel添加2個checkBox
        boldCheckbox = new JCheckBox("bold");
        boldCheckbox.addActionListener(actionListener);
        buttonPanel.add(boldCheckbox);
        
        italicCheckbox = new JCheckBox("italic");
        italicCheckbox.addActionListener(actionListener);
        buttonPanel.add(italicCheckbox);
    }    
    
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        //創建窗體並指定標題
        JCheckBoxDemo frame = new JCheckBoxDemo();
        //關閉窗體后退出程序
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        //自動適配所有控件大小
        //frame.pack();
        //設置窗體位置在屏幕中央
        frame.setLocationRelativeTo(null);
        //顯示窗體
        frame.setVisible(true);
    }

}

運行效果:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM