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游戏编程原理与实践教程》
java游戏开发基础Swing之JCheckBox的更多相关文章
- java游戏开发基础Swing之JRadioButton
© 版权声明:本文为博主原创文章,转载请注明出处 1.按钮(JButton) Swing中的按钮是JButton,它是javax.swing.AbstractButton类的子类,Swing中的按钮可 ...
- java游戏开发杂谈 - 线程
线程,让游戏拥有了动态变化的能力. java的图形界面,在启动的时候,就开始了一个线程. 这个线程负责处理:JFrame.JPanel等的绘制.事件处理. 它是由操作系统调用的,在程序启动时开启,程序 ...
- java游戏开发杂谈 - 实现游戏主菜单
经常玩游戏的同学,大家都知道,游戏都会有个主菜单,里面有多个菜单选项:开始游戏.游戏设置.关于游戏.退出游戏等等,这个菜单是怎么实现的呢. 有一定桌面软件开发基础的同学可能会想到,用JButton组件 ...
- java游戏开发杂谈 - 画布和画笔
在Eclipse里,编写如下两个类: package game2; import java.awt.Color; import java.awt.Graphics; import javax.swin ...
- 【读书笔记《Android游戏编程之从零开始》】14.游戏开发基础(Bitmap 位图的渲染与操作)
Bitmap 是图形类,Android 系统支持的图片格式有 png.jpg.bmp 等. 对位图操作在游戏中是很重要的知识点,比如游戏中需要两张除了大小之外其他完全相同的图,那么如果会对位图进行缩放 ...
- java游戏开发杂谈 - 游戏物体
现实生活中,有很多物体,每个物体的长相.行为都不同. 物体存在于不同的空间内,它只在这个空间内发生作用. 物体没用了,空间就把它剔除,不然既占地方,又需要花精力管理. 需要它的时候,就把它造出来,不需 ...
- java游戏开发杂谈 - 有限状态机
在不同的阶段,游戏所运行的逻辑.所显示的界面,都是不同的. 以五子棋举例,游戏开始.游戏中.胜负已分,对应的界面和逻辑都不同. 在游戏中,又分为:自己下棋.对方下棋.游戏暂停.悔棋等多个状态. 再比如 ...
- java游戏开发杂谈 - 事件处理
大家都知道,游戏需要跟玩家交互,需要接收玩家的鼠标.键盘发出的命令,比如在地图上点击一下,人物就自动寻路走过去:键盘上按下某个键,就弹出一个背包界面. 这些逻辑是怎么处理的呢? 大家先不用深究太详细的 ...
- java游戏开发杂谈 - 创建一个窗体
package game1; import javax.swing.JFrame; /** * java游戏开发杂谈 * ---demo1:创建一个窗体 * * @author 台哥 * @date ...
随机推荐
- js继承的实现
js继承有5种实现方式: 1.继承第一种方式:对象冒充 function Parent(username){ this.username = username; this.hell ...
- laravel按月/时间区间查询数据
public function payRollList($time) { $member_phone = Session::get(phone'); $engineer = Engineer::get ...
- git回溯到指定版本
git回溯到指定版本 git log命令查看仓库日志 然后使用git checkout 命令 例如回溯到上图中的版本 git checkout 12db5d6fd138922a8aaf2214c84c ...
- 关于asp.net中gridview的问题,关于footer,16aspx上下的英语交流网程序,管理员的添加和修改有问题
css部分 这是添加用户的方法 但是A.AdminName 和后面的A.取到的都是空值protected void GridView1_RowCommand(object sender,GridVie ...
- Web开发之编码与解码、签名、加密与解密
在Web开发中,编码与解码.签名.加密与解密是非常常见的问题.本文不会介绍具体实例,而是介绍这些的原理.用途与区别.一.编码与解码 在Web开发中,需要通过URL的query参数来传递数 ...
- #424 Div2 C
#424 Div2 C 题意 给出 k 个分数,初始分数未知,按顺序把这 k 个分数加到初始分数上,已知 n 个加入分数后的结果(无序),问初始分数有多少种可能. 分析 也就是说这 n 个结果,它们之 ...
- Linux文本过滤命令grep、awk、sed
grep的使用: 一.grep一般格式: grep [选项] 基本正则表达式 [文件] 这里的正则表达式可以为字符串.在grep命令中输入字符串参数时,最好将其用双引号括起来.调用变量时也可以使用双引 ...
- 当ASP.NET Forms验证方式遭遇苹果IOS
一.问题出现 我在用ASP.NET MVC4做微信开发的时候,用Forms验证方式做为authentication. 一般都是在web.config加: <authentication mode ...
- c# Http Post访问接口方式
一.json格式数据提交返回 提交和返回数据都为json格式 参数提交方式:application/json;charset=UTF-8 统一采用UTF-8字符编码 public string Pos ...
- Linux文件压缩与解压命令
1 .zip 格式压缩与解压 压缩命令 zip 压缩文件名 源文件 zip -r 压缩目录名 源目录 解压命令 unzip 文件名 td@td-Lenovo-IdeaPad-Y41 ...