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

1.按钮(JButton)

  Swing中的按钮是JButton,它是javax.swing.AbstractButton类的子类,Swing中的按钮可以显示图像,并且可以将按钮设置为窗口的默认图标,而且还可以将多个图像指定给一个按钮

  JButton的常用构造方法:

    JButton(Icon icon):按钮上显示图标

    JButton(String text):按钮上显示文字

    JButton(String text, Icon icon):按钮上即显示图标又显示文字

  JButton的常用方法:

    setText(String text):设置按钮的标签文本

    setIcon(Icon defaultIcon):设置按钮在默认状态下显示的图片

    setRolloverIcon(Icon rolloverIcon):设置当光标移动到按钮上方时显示的图片

    setPressedIcon(Icon pressedIcon):设置当按钮被按下时显示的图片

    setContentAreaFilled(boolean b):设置按钮的背景为透明,当设为false时表示透明,默认为不透明

    setBorderPainted(boolean b):设置为不绘制按钮的边框,当设为false时表示不绘制,默认为绘制

2.单选按钮(JRadioButton)

  JRadioButton组件实现的一个单选按钮。可以单独使用,也可以与ButtonGroup类联合使用,当单独使用时,该单选按钮可以被选定和取消选定;当与ButtonGroup联合使用,此时用户只能选定按钮组中的一个单选按钮

  JRadioButton的常用方法:

    setText(String text):设置单选按钮的标签文本

    setSelected(boolean b):设置单选按钮的状态,默认情况下未被选中,当设为true时表示单选按钮被选中

    add(AbstractButton b):添加按钮到按钮组中

    remove(AbstractButton b):从按钮组中移除按钮

    getButtonCount():返回按钮组中包含的按钮个数

    getElements():返回一个Enumeration类型的对象,通过该对象可以遍历按钮组中包含的所有按钮对象

    isSelected():返回单选按钮的状态

    setSelected(boolean b):设定单选按钮的状态

3.案例:选中用户喜欢的城市

3.1 项目结构

3.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>

3.3 JRadioButtonTest.java

package org.swing.jradiobutton;import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;import javax.swing.BorderFactory;
import javax.swing.ButtonGroup;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JRadioButton;public class JRadioButtonTest {JFrame f = null;public JRadioButtonTest() {f = new JFrame("单选框示例");// 创建一个JFrame窗口对象Container contentPane = f.getContentPane();// 创建一个内容面板容器contentPane.setLayout(new FlowLayout());// 设置该窗口的布局JPanel p1 = new JPanel();// 创建一个面板对象p1.setLayout(new GridLayout(1, 3));// 设置布局管理器的格式p1.setBorder(BorderFactory.createTitledBorder("选择你喜欢的城市"));// 定义3个JRadioButton单选按钮JRadioButton r1 = new JRadioButton("北京");JRadioButton r2 = new JRadioButton("上海");JRadioButton r3 = new JRadioButton("广州");// 创建一个按钮组对象,将按钮绑定成一组,实现只能选中一个ButtonGroup group = new ButtonGroup();group.add(r1);group.add(r2);group.add(r3);// 将按钮对象添加到面板中p1.add(r1);p1.add(r2);p1.add(r3);r1.setSelected(true);// 设置r1单选按钮的状态为选中// 将面板对象添加到内容面板容器中contentPane.add(p1);f.pack();// 自动调节窗口大小f.setVisible(true);// 显示窗口f.addWindowListener(new WindowAdapter() {// 添加一个窗口监听器@Overridepublic void windowClosing(WindowEvent e) {System.exit(0);}});}public static void main(String[] args) {new JRadioButtonTest();}}

3.4 效果预览

参考:《Java游戏变成原理与实践教程》

转载于:https://www.cnblogs.com/jinjiyese153/p/7132020.html

java游戏开发基础Swing之JRadioButton相关推荐

  1. java游戏开发杂谈 - 实现游戏主菜单

    经常玩游戏的同学,大家都知道,游戏都会有个主菜单,里面有多个菜单选项:开始游戏.游戏设置.关于游戏.退出游戏等等,这个菜单是怎么实现的呢. 有一定桌面软件开发基础的同学可能会想到,用JButton组件 ...

  2. Java游戏开发组件LGame简易测试版发布(版本号 0 1 5)

    LGame-Simple-0.1.5组件下载地址:http://code.google.com/p/loon-simple/downloads/list 2009-09-13 更新内容: Java游戏 ...

  3. JAVA 游戏开发之——FPS(帧频刷新率)精准控制

            JAVA游戏开发之FPS精准控制 2013年7月18日 目录 JAVA游戏开发之FPS精准控制... 1 1       概述... 2 1.1        编写目的... 3 2  ...

  4. java游戏开发(java游戏开发教程)

    Java游戏开发绘图器是什么呢? 众所周知,Java GUI以paint进行绘图,以repaint进行图像刷新,而完成repaint及paint这一连贯过程中所用到绘图组件,我将其称为绘图器.就我个人 ...

  5. Android游戏开发基础part2--Canvas画布

    游戏开发基础part2--Canvas画布 又过了一周才继续做总结,四级结束了,应该可以多点时间学习游戏编程了. Canvas画布类是一个在游戏当中担当非常重要的角色,它可以绘制出不同的图形和图片,可 ...

  6. Android游戏开发基础part3--Paint 画笔

    游戏开发基础part3--Paint 画笔 Paint画笔是绘图的辅助类,一般它是作为画布的参数来实现相应的效果,Paint类中包含文字与位图的样式.颜色等属性信息.Paint的常用方法如下: 1.s ...

  7. Android游戏开发基础part4--Bitmap位图的渲染与操作

    游戏开发基础part4--Bitmap位图的渲染与操作 知识点1:Bitmap与BitmapFactory 如果想通过一张图片资源文件创建一个位图,则要通过位图工厂来索引图片资源文件,从而生成一张位图 ...

  8. 【源码+图片素材+详细教程】Java游戏开发_Java开发经典游戏飞翔的小鸟_飞扬的小鸟_Java游戏项目Flappy Bird像素鸟游戏_Java课程设计项目

    课程目标: 1.通过本课程的学习巩固Java的相关基础知识,例如循环判断,数组和集合的使用,对象的继承,接口的实现,窗口的创建,事件监听,图形绘制. 2.完成小鸟的移动,管道自动生成.碰撞死亡,计分系 ...

  9. java游戏开发入门(十) -粒子特效

    java游戏开发入门十 - 粒子特效 java游戏开发入门十 - 粒子特效 前言 编码 创建一个粒子发射器,并将粒子发射器添加到实体对象 效果图 完整代码 完整项目 java游戏开发入门十 - 粒子特 ...

最新文章

  1. USB接口供电蓝牙彩色灯带控制器
  2. cocos2d-x 连帧动画实现
  3. c#连接远程sqlserver2008_C#用代码控制网络断开与重连
  4. Android踩坑日记:点击变暗效果的ImageView实现原理
  5. Windows下运行jekyll,编码已不再是问题
  6. ADBB的完整形式是什么?
  7. Train Problem II 卡特兰裸题(入门题)
  8. Visual Studio 2008 每日提示(十)
  9. 重新复习数据结构-------ArrayList
  10. xcode 怎么调用midi开发录音_直播_个人工作室入门_1K-2k价位录音编曲声卡推荐
  11. 进度管理案例分析——常见问题及答案
  12. 搜索引擎这样用才有效率
  13. 亿阳信通图像处理工程师
  14. Position Based Dynamics【译】
  15. Mybatis错误Illegal overloaded gette
  16. C语言中itoa和atoi函数的用法
  17. login登录页面 html,login.html
  18. CVBS/AHD 转USB
  19. 小米手机怎么删除桌面计算机,小米手机如何删除桌面文件夹?
  20. php 检测gif文件,识别gif文件,判断gif文件

热门文章

  1. deepin系统中.txt文件图标显示内容问题_深度系统Deepin 20最新正式版发布:从DDE到应用全面升级-Deepin 20,深度系统 ——快科技(驱动之家旗下媒体)-...
  2. CentOS 关闭、启动网卡
  3. linux修改权限掩码,Linux中控制文件权限修改的chgrp和umask命令用法
  4. linux中的ftp是什么意思,什么是linux的ftp
  5. 自动驾驶数据集_Argo AI和Waymo公开发布自动驾驶数据集
  6. 矩阵迹的性质_矩阵(含逆)的迹、行列式关于矩阵自身的导数计算与Maple验证...
  7. 在哪儿能找c语言编程题,C语言程序设计的试题及答案
  8. linux 内存越界判断_LINUX 共享内存越界
  9. 矩阵计算 pdf_线性代数II: 矩阵
  10. python数据生成正态分布图_Python 与金融数据生成机器学习的特征数据