本文实例讲述了Java Swing组件复选框JCheckBox用法。分享给大家供大家参考,具体如下:

JCheckBox是Swing中的复选框。所谓复选框就是指,可以同时存在多个这样的控件,它们可以有多个处于被选中状态。对于每一个复选框而言,它只有选中和未选中两种状态。

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

可以为它添加ActionListener对象来响应事件。

使用demo如下:

JCheckBoxDemo.java

package awtDemo;
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
 */
@SuppressWarnings("serial")
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 - www.jb51.net");
    setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
    //添加label
    label = new JLabel("欢迎访问脚本之家 - www.jb51.net");
    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);
  }
}

运行效果:

更多关于java相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java字符与字符串操作技巧总结》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总

希望本文所述对大家java程序设计有所帮助。

01-31 06:15