这篇文章将为大家详细讲解有关怎么在Java中使用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中使用JCheckBox组件就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。