© 版权声明:本文为博主原创文章,转载请注明出处
1.复选框(JCheckBox)
使用复选框可以完成多项选择。Swing中的复选框与AWT中的复选框相比,优点是Swing复选框中可以添加图片
JCheckBox的常用构造方法:
JCheckBox(Icon icon):创建一个有图标,但未被选中的复选框
JCheckBox(Icon icon, boolean selected):创建一个有图标,并且指定是否被选中的复选框
JCheckBox(String text):创建一个有文本,但未被选中的复选框
JCheckBox(String text, boolean selected):创建一个有文本,并且制定是否被选中的复选框
JCheckBox(String text, Icon icon):创建一个指定文本和图标,但未被选中的复选框
JCheckBox(String text, Icon icon, boolean selected):创建一个指定文本和图标,并且指定是否被选中的复选框
JCheckBox的常用方法:
isSelected():返回复选框状态
setSelected(boolean b):设定复选框状态
2.案例:让用户选中自己的爱好
2.1 项目结构
2.2 pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.swing</groupId> <artifactId>swing</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>swing</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> </project>
2.3 JCheckBoxTest.java
package org.swing.jcheckbox; import java.awt.Container; import java.awt.FlowLayout; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JCheckBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; public class JCheckBoxTest extends JFrame { private static final long serialVersionUID = 1L; public JCheckBoxTest() { super("复选框");// 初始化窗口标题 Container container = getContentPane();// 获取一个内容面板容器 container.setLayout(new FlowLayout());// 设置窗口的布局 Favorite f = new Favorite();// 创建一个爱好面板对象 container.add(f);// 将面板对象添加到内容面板容器中 pack();// 自动调节窗口大小 setVisible(true);// 设置窗口可见 addWindowListener(new WindowAdapter() {// 添加窗口监听器 @Override public void windowClosing(WindowEvent e) { System.exit(0); } }); } public static void main(String[] args) { new JCheckBoxTest(); } } /** * 创建一个爱好面板对象 * */ class Favorite extends JPanel { private static final long serialVersionUID = 1L; JCheckBox sport, computer, music, read; public Favorite() { // 初始化复选框 sport = new JCheckBox("运动"); computer = new JCheckBox("电脑"); music = new JCheckBox("音乐"); read = new JCheckBox("读书"); // 向面板中添加组件 add(new JLabel("爱好")); add(sport); add(computer); add(music); add(read); sport.setSelected(false); computer.setSelected(false); music.setSelected(false); read.setSelected(false); } }
2.4 效果预览
参考:《Java游戏编程原理与实践教程》