java radio 不可选_在Java Swing中取消选择RadioButtons

当显示一组JRadioButton时,最初没有选择任何一个(除非您以编程方式强制执行)。我想要能够将按钮恢复到该状态,即使在用户已经选择了一个之后,即,不应该选择任何按钮。

然而,使用通常的嫌疑不会提供所需的效果:调用’setSelected(false)’在每个按钮不工作。有趣的是,当按钮未放入ButtonGroup时,它会工作 – 不幸的是,后者是JRadioButtons要求是互斥的。

此外,使用javax.swing.ButtonGroup的setSelected(ButtonModel,boolean)方法不会做我想要的。

我把一个小程序来展示效果:两个单选按钮和一个JButton。单击JButton应取消选择单选按钮,以使窗口看起来与它首次弹出时的完全一样。

import java.awt.Container;

import java.awt.GridLayout;

import java.awt.event.*;

import javax.swing.*;

/**

* This class creates two radio buttons and a JButton. Initially, none

* of the radio buttons is selected. Clicking on the JButton should

* always return the radio buttons into that initial state, i.e.,

* should disable both radio buttons.

*/

public class RadioTest implements ActionListener {

/* create two radio buttons and a group */

private JRadioButton button1 = new JRadioButton("button1");

private JRadioButton button2 = new JRadioButton("button2");

private ButtonGroup group = new ButtonGroup();

/* clicking this button should unselect both button1 and button2 */

private JButton unselectRadio = new JButton("Unselect radio buttons.");

/* In the constructor, set up the group and event listening */

public RadioTest() {

/* put the radio buttons in a group so they become mutually

* exclusive -- without this, unselecting actually works! */

group.add(button1);

group.add(button2);

/* listen to clicks on 'unselectRadio' button */

unselectRadio.addActionListener(this);

}

/* called when 'unselectRadio' is clicked */

public void actionPerformed(ActionEvent e) {

/* variant1: disable both buttons directly.

* ...doesn't work */

button1.setSelected(false);

button2.setSelected(false);

/* variant2: disable the selection via the button group.

* ...doesn't work either */

group.setSelected(group.getSelection(), false);

}

/* Test: create a JFrame which displays the two radio buttons and

* the unselect-button */

public static void main(String[] args) {

JFrame frame = new JFrame();

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

RadioTest test = new RadioTest();

Container contentPane = frame.getContentPane();

contentPane.setLayout(new GridLayout(3,1));

contentPane.add(test.button1);

contentPane.add(test.button2);

contentPane.add(test.unselectRadio);

frame.setSize(400, 400);

frame.setVisible(true);

}

}

任何想法任何人?谢谢!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/513533.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python画烟花的代码_电脑怎么用代码画烟花?

内个,我是化学专业的……回忆了一下,框架是这个:#include "stdlib.h"#include "graphics.h"#include "stdio.h"#include "math.h"#include "conio.h "#define PI 3.1425926main(){int gdriverDETECT,…

快进键启动,一文带你了解云原生时代容器安全

简介: 分享阿里云容器安全的治理能力与经验,致力保护生产环境安全。 都说国内需求离容器化还远,更谈不上关注安全,喊的热闹而落地困难。但总得有些声音面向未来向前看。 在2020年Forrester IaaS安全评测中,阿里云容器…

Serverless:这真的是未来吗?(一)

简介: 希望这些博客文章能帮助您在所有相关人员中展开讨论,就最佳业务方案达成一致。该课程可能涉及无服务器,也可能不涉及。在这第一篇文章中,我们将考虑在讨论无服务器时最常见的几个问题。在第二篇文章中,我们将研究…

无限级分类限定层级_王者荣耀:s20战令该不该买?战令限定星元皮肤实测真香...

王者荣耀:s20战令该不该买?战令限定星元皮肤实测真香Hello大家好,我是游戏鲪,很高兴见到大家。如今这个赛季的战令系统早已结束,新赛季也即将到来。许多小伙伴都在憧憬下个赛季的战令。关于s20赛季的战令奖励&#xff…

java testng 源代码_根据测试用例的java源码自动生成TestNG的XML文件

1、读取当前项目目录下的所有.java文件,过滤出含有Test标识的java源文件2、读取java文件内容,解析出包名、类名、方法名。使用Vector存储,第一个元素为包名,第二个元素为类名,从第三个元素开始存储有Test标识的方法名3…

光进铜退下的“更高”与“更低”,锐捷发布企业极简以太全光网解决方案

全新一代企业网络建设中,以太全光网将满足高带宽、简运维、降成本的要求。 头图 | 付费下载于视觉中国 出品 | CSDN云计算 近日,锐捷网络正式对外发布企业极简以太全光网解决方案。方案针对仓储物流、电子信息、工业制造、地产酒店等在行业客户在园区网…

物联网海量时序数据存储有哪些挑战?

简介: 随着 IoT 技术的快速发展,物联网设备产生的数据呈爆炸式增长,数据的总量(Volume)、数据类型越来越多(Variety)、访问速度要求越来越快(Velocity)、对数据价值&…

什么是 RedCap?一文详解!

作者 | 小枣君来源 | 鲜枣课堂随着3GPP R17版本的不断推进,一个新的名词逐渐开始热门起来,那就是RedCap。究竟什么是RedCap?为什么要引入它?它和现在的5G有什么区别?且看本文的深入解析……█ 什么是RedCapRedCap&…

被解救的代码 - 代码即服务时代来了!

简介: 人类对自由的追求从未停止,我们用战斗获得民族自由,我们用代码获得双手自由,同时代码作为服务器的奴隶,也开始蠢蠢欲动,革命已经开始,当代码翻身做主,作为开发者的我们又该如何…

java timer schedule_java怎么再次设置Timer的schedule???

public class TestTimer {class MyTimerTask extends TimerTask {private int time; //定时执行时间public MyTimerTask(){}public MyTimerTask(int _time){this.time _time;}Overridepublic void run() {System.out.println("time:" time);System.out.println((ti…

配置审计(Config)配合开启OSS防盗链功能

简介: 本文作者:紫极zj 本文将主要介绍利用【配置审计】功能,如何快速发现企业上云过程中,针对未配置防盗链的 OSS Bucket 定位及修复案例。 前言 配置审计(Config)将您分散在各地域的资源整合为全局资源…

python乘法函数_Python中列表与元组的乘法操作示例

本文实例讲述了Python中列表与元组的乘法操作。分享给大家供大家参考,具体如下:直接上code吧,还可以这么玩儿列表乘法:li[1,]lili*3print(li)out:[1, 1, 1]元组乘法:>>> t(1,2)>>> t*3(1, 2, 1, 2, …

清华大学:2021元宇宙研究报告

关于元宇宙的详细介绍;来源:软件定义世界(SDX)往期推荐阿里云投入 20 亿发力操作系统谷歌自研Tensor芯片,8核CPU,20核GPURedis很厉害,使用规范来啦Facebook 改名Meta,是押注元宇宙还…

如何做规划?分享2种思维和4个方法

简介: 规划不只是高层的事。学会做规划,不仅可以让目标更聚焦,还能让我们清晰地知道今后要做什么、如何去做。在本篇文章中,提到了规划的2种思维模式,和作者自己在规划中用到的4个规划方法,希望让开始做规划…

vue如何在末尾添加_怎样在Linux上开发vue项目

一、开发环境搭建:安装node.js环境以及vue cli工具(1)安装node.js从官网下载对应的二进制压缩包,如下图:01.png解压到程序安装目录xz -d node-v12.17.0-linux-x64.tar.xztar -xvf node-v12.17.0-linux-x64.tarsudo mv node-v12.17.0-linux-x6…

计算机专业考哪些证书含金量高?

计算机专业要不要考证?考证很重要吗?考哪个好?对于有些人而言,他们可能会有人认为认证就是一张纸,没有太大的用处,看到大家都在考,心里又会产生动摇;还有人会认为考证的价格太高&…

java 判断日期连续_如何在Java中检查日期是否大于另一个日期?[重复]

小编典典从这里拍摄:import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;public class DateDiff {public static void main( String[] args ){compareDates("2017-01-13 00:00:00", "2017-01-14 00:00:00&qu…

【深度】阿里巴巴万级规模 K8s 集群全局高可用体系之美

简介: 台湾作家林清玄在接受记者采访的时候,如此评价自己 30 多年写作生涯:“第一个十年我才华横溢,‘贼光闪现’,令周边黯然失色;第二个十年,我终于‘宝光现形’,不再去抢风头&…

云原生时代,开发者如何构筑容器安全?

随着数字化转型进入“深水区”,云原生改变传统的开发模式,加快程序应用的开发、交付、运维效率,充分释放云价值。容器作为云原生的代表技术,正成为资源调度和编排的标准,有效帮助企业降低 IT 实施和运维成本。 据 CNC…

python依赖注入_如何做依赖注入python方式?

这一切都取决于情况.例如,如果您使用依赖注入来进行测试,所以您可以轻松地嘲笑某些内容 – 您可以经常放弃注入:您可以嘲笑您将注入的模块或类:subprocess.Popen some_mock_Popenresult subprocess.call(...)assert some_mock_popen.result resultsub…