编写程序,通过复选框控件数组事先选择用户爱好信息的复选框,在该程序中,要求界面中的复选框数量可以根据指定复选框名称的字符串数组的长度来自动调节。
思路如下:
代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80 |
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; } } |
效果如图:
原文:http://www.cnblogs.com/cysolo/p/3555094.html