java游戏开发基础Swing之JCheckBox

© 版权声明:本文为博主原创文章,转载请注明出处

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游戏编程原理与实践教程》

原文地址:https://www.cnblogs.com/jinjiyese153/p/7132169.html