java checkbox数组_Java通过复选框控件数组实现添加多个复选框控件
编写程序,通过复选框控件数组事先选择用户爱好信息的复选框,在该程序中,要求界面中的复选框数量可以根据指定复选框名称的字符串数组的长度来自动调节。
思路如下:
创建JPanel面板对象;
使用JPanel类的setLayout(0,4)方法设置网格布局管理器,即列数为4,行数自动调节;
创建一个字符串型一维数组作为控件文本数组;
创建一个JCheckBox型一维数组作为控件数组;
使用for循环遍历控件数组,初始化数组中的复选框组件,使用JPanel类的add()方法把数组元素(即每个复选框)添加到面板中。
代码如下:
package cn.edu.xidian.crytoll;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.GridLayout;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.UIManager;
public class CheckBoxArray extends JFrame {
/**
*
*/
private static final long serialVersionUID = -5338362310060106193L;
private JPanel contentPane;
private JPanel panel;
/**
* Launch the application.
*/
public static void main(String[] args) {
try {
UIManager
.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
} catch (Throwable e) {
e.printStackTrace();
}
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
CheckBoxArray frame = new CheckBoxArray();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public CheckBoxArray() {
setTitle("通过复选框控件数组实现添加多个复选框控件");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 409, 331);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);
JLabel label = new JLabel(
"你的爱好有哪些:");
contentPane.add(label, BorderLayout.NORTH);
contentPane.add(getPanel(), BorderLayout.CENTER);
}
private JPanel getPanel() {
if (panel == null) {
panel = new JPanel();// 创建面板对象
panel.setLayout(new GridLayout(0, 4));// 设置网格布局管理器
// 创建控件文本数组
String[] labels = { "足球", "篮球", "魔术", "乒乓球", "看电影", "魔兽世界", "CS战队",
"羽毛球", "游泳", "旅游", "爬山", "唱歌", "写博客", "动物世界", "拍照", "弹吉他",
"读报纸", "飙车", "逛街", "逛商场", "麻将", "看书", "上网看资料", "新闻", "军事",
"八卦", "养生", "饮茶" };
JCheckBox[] boxs = new JCheckBox[labels.length];// 创建控件数组
for (int i = 0; i < boxs.length; i++) {// 遍历控件数组
boxs[i] = new JCheckBox(labels[i]);// 初始化数组中的复选框组件
panel.add(boxs[i]);// 把数组元素(即每个复选框)添加到面板中
}
}
return panel;
}
}
效果如图:
java checkbox数组_Java通过复选框控件数组实现添加多个复选框控件相关推荐
- java 不同类型的数组_java创建存放不同类型数据的数组
java创建存放不同类型数据的数组 java中,将不同类型的数据放到一个数组中,可以采用Object来实现. 例子:public class Main { public static void mai ...
- java 动态加载控件_JS动态添加节点后渲染为EasyUI控件,EasyUI动态渲染解析解决方案...
这是个小菜在实际工作中遇到的问题,相信很多EasyUI新手很可能也遇到这样的问题,因此小菜觉得有必要拿出来分享一下. 这个问题要从EasyUI的datebox组件说起,小菜用这个组件的时候,发现用$( ...
- java填充二维数组_Java用Arrays.fill()初始化二维数组的实现
在最短路径问题上遇到了一个问题,对于二维int数组 map[][],需要初始化为int的最大值,不想用双重循环赋初值,想用Arrays.fill()填充但是失败了...... 首先说明,Arrays. ...
- java怎么把随机数放入数组_Java学习:集合的使用与数组的区别
ArrayList 集合 ArrayList 集合 ArrayList list = new ArrayList<>(); 对于ArrayList来说,有一个尖括号代表泛型. 泛型:也就是 ...
- 用java怎么输入字符数组_Java程序填充用户输入的字符数组
对于用户输入,将Scanner类与System.in一起使用.获取输入后,将其转换为字符数组-char[] a = s.next().toCharArray(); 现在,显示它直到字符数组的长度,即用 ...
- java 创建多维数组_java中如何创建一个多维数组?实例展示
在互联网产业发展的越发如火如荼的今时今日,越来越多的人开始投入到新兴技术的学习当中去.java作为一门十分重要的编程语言,是许多人首选的学习对象.今天就来为大家介绍一下java中如何创建一个多维数组, ...
- java基础 多维数组_java基础:3.2 多维数组
1.申明 int [][] array1 ={ {1,2,3} , {0} , {2,2,2,2,2} , {5,6} }; 锯齿数组 int [][] array2 = new int [5][ ...
- java字符串数组转数字数组_Java数字字符串如何转化为数字数组并且排序
怎样将 String numberString= "0123456789"; 如何转化为 int[] digitArry = new int[]{0,1,2,3,4,5,6,7,8 ...
- java byte 压缩_java压缩和解压字符串,Byte数组,String
/*** * 压缩GZip * *@paramdata *@return */ public static byte[] gZip(byte[] data) {byte[] b = null;try{ ...
- python输出杨辉三角啊二维数组_Java输出杨辉三角形(使用二维数组)
在<Java输出杨辉三角形>一节中我们使用 Java 语言中的流程控制语句输出一个指定行数的杨辉三角形.本节我们利用 Java 的二维数组来输出指定行数的杨辉三角形. 杨辉三角形由数字进行 ...
最新文章
- Java项目:学生信息管理系统(java+SSM+jsp+mysql+maven)
- idea 关于spring boot实现自动编译
- 华为实施微服务架构的五大军规
- Javascript - 栈 和 单链表
- ThreadPoolTaskExecutor多线程使用,及线程池配置
- C# GDI+ 绘图
- MySQL+多线程+Redis+算法+网络
- 日历视图的XML属性
- caffe使用ctrl-c不能保存模型
- 当今将Windows应用程序迁移到Windows on Arm的实践
- Linux Linux函数 Linux聊天程序 基于socket的TCP(有连接的)聊天程序
- 简单的php cms,30个很棒的PHP开源CMS内容管理系统
- 解决黑苹果(bigsur)ALC255声卡声音发虚问题
- linux 安装ros软路由,Centos7安装RouterOS软路由
- 打造百亿量级、亿级日活SDK的十大关键要点
- c语言 内部12位二进制整型数据 转换 十六进制 程序,C语言应用:将128位二进制数据转换为十六进制输出...
- Encoder和Decoder
- 寻求大量iOS app马甲包上架appstore
- Access to XMLHttpRequest at ‘http://localhost:8082/sockjs-node/info?t=1610442684722‘ from origin ‘ht
- OPPO Enco X音质再升级 延续标杆级体验