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);
} }

运行效果:

Swing-JCheckBox用法-入门的更多相关文章

  1. Swing-GridBagLayout用法-入门

    注:本文内容转自:Java Layout总结-GridBagLayout.内容根据笔者理解稍有整理. GridBagLayout布局管理器:这就是最复杂的一个布局管理器了,网格包布局.在此布局中,组件 ...

  2. swing JCheckBox 更换复选框样式

    Java Swing - 如何自定义JCheckBox复选标记图标 摘自 https://www.w3cschool.cn/java/codedemo-484050311.html import ja ...

  3. 精通awk系列(4):awk用法入门

    回到: Linux系列文章 Shell系列文章 Awk系列文章 awk用法入门 awk 'awk_program' a.txt awk示例: # 输出a.txt中的每一行 awk '{print $0 ...

  4. [转帖]PG语法解剖--基本sql语句用法入门

    PG语法解剖--基本sql语句用法入门 https://www.toutiao.com/i6710897833953722894/ COPY 命令挺好的 需要学习一下. 原创 波波说运维 2019-0 ...

  5. Go之Logrus用法入门

    Go之Logrus用法入门 Logrus是Go (golang)的结构化日志程序,完全兼容标准库的API日志程序. Logrus is a structured logger for Go (gola ...

  6. AWK用法入门详解

    简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再 ...

  7. Swing-JComboBox用法-入门

    JComboBox是Swing中的下拉菜单控件.它永远只能选中一个项目,然而比单选按钮节省空间.如果使用setEditable设置为true则内部选项的文本可以编辑,因此这种组件被称为组合框.注意,对 ...

  8. Swing-setBorder()用法-入门

    注:本文内容转自:Swing编程边框(Border)的用法总结.内容根据笔者理解稍有整理. 函数说明: public void setBorder(Border border) 设置此组件的边框.Bo ...

  9. Java-Preferences用法-入门

    Properties提供的应用程序解决方案主要存在两个问题: (1)配置文件不能放在主目录中,因为某些OS(如Win9X)没有主目录的概念: (2)没有标准的文件命名规则,存在文件名冲突的可能性. J ...

随机推荐

  1. 基于 Vue 全家桶制作的移动端音乐 WebApp

  2. javaWeb学习之tomcat服务器

    一.web a)        web结构 b)        常见的服务器 WebLogic: orcale公司的产品,支持JAVAEE规范,收费 WebsphereAS: IBM公司的产品 ,支持 ...

  3. My first_leetcode_Rever Ingeter 数字翻转java实现(办法集合)

    7. Reverse Integer Reverse digits of an integer. Example1: x = 123, return 321  Example2: x = -123, ...

  4. POI通过模板导出EXCEL文件

    一般的EXCEL导出使用POI先创建一个HSSFWorkbook,然后通过不断创建HSSFRow,HSSFCell后设置单元格内容便可以完成导出. 这次在项目中需要用到模板,导出的内容包括(1.模板中 ...

  5. hashlib,configparser,logging模块

    一.常用模块二 hashlib模块 hashlib提供了常见的摘要算法,如md5和sha1等等. 那么什么是摘要算法呢?摘要算法又称为哈希算法.散列算法.它通过一个函数,把任意长度的数据转换为一个长度 ...

  6. python基础入门(1)

    1.python环境安装 1.1 windows安装 打开官网 https://www.python.org/downloads/windows/ 下载中心 安装过程和普通应用过程一样,如果是pyth ...

  7. BotVS趋势交易策略-MACD

    MACD低买高卖自动跟单滑动止损策略 , 基于Python实现. 交叉后前一柱指金叉后的第一柱的值, 交叉后前一柱指金叉前的最后一个柱的值, 滑动价格指下单时加的价格,比如买单会现价加上这个价格,卖单 ...

  8. KVM套件-linux基础

    KVM套件 使用KVM的虚拟机,通过KVM的虚拟机克隆功能,提高效率,避免在实验过程中重装系统. 另外,在LINUX系统上使用KVM的虚拟化,可以获得更好性能,且可以提前熟悉企业级虚拟化技术. 过程: ...

  9. Spring事务管理——其他的事务属性

    之前我们说过Spring事务管理中的事务的传播行为的属性.下面我们来说一下它的其他属性. 一.事务的隔离级别 1 .数据库事务并发问题.假设现在有两个事务:Transaction01和Transact ...

  10. python进阶学习(三)

    本节通过SQLite了解数据库操作 ------------------------- 数据库支持 使用简单的纯文本只能实现有退限的功能,所需要引入数据库,完成更强大的功能,本节使用的简单数据库SQL ...