编写程序,通过复选框控件数组事先选择用户爱好信息的复选框,在该程序中,要求界面中的复选框数量可以根据指定复选框名称的字符串数组的长度来自动调节。

思路如下:

创建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通过复选框控件数组实现添加多个复选框控件相关推荐

  1. java 不同类型的数组_java创建存放不同类型数据的数组

    java创建存放不同类型数据的数组 java中,将不同类型的数据放到一个数组中,可以采用Object来实现. 例子:public class Main { public static void mai ...

  2. java 动态加载控件_JS动态添加节点后渲染为EasyUI控件,EasyUI动态渲染解析解决方案...

    这是个小菜在实际工作中遇到的问题,相信很多EasyUI新手很可能也遇到这样的问题,因此小菜觉得有必要拿出来分享一下. 这个问题要从EasyUI的datebox组件说起,小菜用这个组件的时候,发现用$( ...

  3. java填充二维数组_Java用Arrays.fill()初始化二维数组的实现

    在最短路径问题上遇到了一个问题,对于二维int数组 map[][],需要初始化为int的最大值,不想用双重循环赋初值,想用Arrays.fill()填充但是失败了...... 首先说明,Arrays. ...

  4. java怎么把随机数放入数组_Java学习:集合的使用与数组的区别

    ArrayList 集合 ArrayList 集合 ArrayList list = new ArrayList<>(); 对于ArrayList来说,有一个尖括号代表泛型. 泛型:也就是 ...

  5. 用java怎么输入字符数组_Java程序填充用户输入的字符数组

    对于用户输入,将Scanner类与System.in一起使用.获取输入后,将其转换为字符数组-char[] a = s.next().toCharArray(); 现在,显示它直到字符数组的长度,即用 ...

  6. java 创建多维数组_java中如何创建一个多维数组?实例展示

    在互联网产业发展的越发如火如荼的今时今日,越来越多的人开始投入到新兴技术的学习当中去.java作为一门十分重要的编程语言,是许多人首选的学习对象.今天就来为大家介绍一下java中如何创建一个多维数组, ...

  7. java基础 多维数组_java基础:3.2 多维数组

    1.申明 int [][] array1 ={  {1,2,3} , {0} , {2,2,2,2,2} , {5,6} };  锯齿数组 int [][] array2 = new int [5][ ...

  8. java字符串数组转数字数组_Java数字字符串如何转化为数字数组并且排序

    怎样将 String numberString= "0123456789"; 如何转化为 int[] digitArry = new int[]{0,1,2,3,4,5,6,7,8 ...

  9. java byte 压缩_java压缩和解压字符串,Byte数组,String

    /*** * 压缩GZip * *@paramdata *@return */ public static byte[] gZip(byte[] data) {byte[] b = null;try{ ...

  10. python输出杨辉三角啊二维数组_Java输出杨辉三角形(使用二维数组)

    在<Java输出杨辉三角形>一节中我们使用 Java 语言中的流程控制语句输出一个指定行数的杨辉三角形.本节我们利用 Java 的二维数组来输出指定行数的杨辉三角形. 杨辉三角形由数字进行 ...

最新文章

  1. Java项目:学生信息管理系统(java+SSM+jsp+mysql+maven)
  2. idea 关于spring boot实现自动编译
  3. 华为实施微服务架构的五大军规
  4. Javascript - 栈 和 单链表
  5. ThreadPoolTaskExecutor多线程使用,及线程池配置
  6. C# GDI+ 绘图
  7. MySQL+多线程+Redis+算法+网络
  8. 日历视图的XML属性
  9. caffe使用ctrl-c不能保存模型
  10. 当今将Windows应用程序迁移到Windows on Arm的实践
  11. Linux Linux函数 Linux聊天程序 基于socket的TCP(有连接的)聊天程序
  12. 简单的php cms,30个很棒的PHP开源CMS内容管理系统
  13. 解决黑苹果(bigsur)ALC255声卡声音发虚问题
  14. linux 安装ros软路由,Centos7安装RouterOS软路由
  15. 打造百亿量级、亿级日活SDK的十大关键要点
  16. c语言 内部12位二进制整型数据 转换 十六进制 程序,C语言应用:将128位二进制数据转换为十六进制输出...
  17. Encoder和Decoder
  18. 寻求大量iOS app马甲包上架appstore
  19. Access to XMLHttpRequest at ‘http://localhost:8082/sockjs-node/info?t=1610442684722‘ from origin ‘ht
  20. OPPO Enco X音质再升级 延续标杆级体验

热门文章

  1. c++实现医院检验科排班程序
  2. 华硕主板重装系统无法正常从U盘启动解决方法(关闭安全启动)
  3. java基础7:包机制
  4. 花了一周,我总结了120个数据指标与术语。
  5. 疯狂英语口语突破-突破句型3
  6. 基于深度学习的道路交通标志数字识别
  7. 数理基础(概率论)------离散型随机变量均匀分布、正态分布、指数分布图像和连续型随机变量泊松分布、二项分布图像
  8. jsp企业财务管理系统设计与实现(论文+PPT+源码
  9. 串口DCB结构详细说明
  10. window.print()的确认和取消事件