java - 第一个按钮(收音机)始终打开
问题描述
我正在建立一个两支球队交手的比赛计分系统。每手牌都有一个赢家,但是在打完手之前,赢家是未知的。我通过单击单选按钮显示谁获胜。如果一个团队的单选按钮被“点击”,那么我以编程方式“取消点击”另一个按钮。我只在下面展示了一只手,但你可以有不止一只手,它们被添加到第一只手的下方(以编程方式添加另一个复合b及其组)。
注意:第二只手和后续手确实在创建时关闭了两个单选按钮。
问题是创建的第一个单选按钮(左组)始终处于选中状态,我无法将其关闭。如果我点击右侧面板中的获胜者,那么我可以在程序控制下关闭左侧面板中的获胜者,反之亦然。
但是我不能在两个按钮都关闭的情况下开始。
后台某处的 SWT 似乎打开了表单中创建的第一个单选按钮,并且不会让它关闭,除非表单中其他位置的另一个单选按钮已打开,无论分层或单选分组如何。我通过打开表单中的最后一个单选按钮对此进行了测试,果然我可以关闭第一个单选按钮。
所有单选按钮的创建代码/组是使用以下内容创建的SWT.NO_RADIO_GROUP
:
ivWinHandRadio = new Button( group, SWT.RADIO | SWT.RIGHT );
ivWinHandRadio.setText( "Winner!" );
开关代码是
void setWinOff()
{
ivWinHandRadio.setSelection( false );
ivWinHandRadio.notifyListeners( SWT.Selection, new Event() );
}
我将 SWT 分层为:
a|------------------------------------------------|
b||----------------------------------------------||
c|||=====================||=====================|||
d||| ( ) Winner! || ( ) Winner! |||
||| || |||
|||=====================||=====================|||
||----------------------------------------------||
|------------------------------------------------|
- a是一个滚动组合
- b是复合的
- c是两组
- d是每组中的一个单选按钮
创建单选按钮时如何关闭它们?在牌局开始之前将左侧显示为赢家是不好的。
注意:我可以打开表单中的最后一个单选按钮,然后关闭第一个按钮。然后在第一个单选按钮上单击我可以关闭最后一个单选按钮,从而解决这个问题。我已经对此进行了测试。呸!
解决方案
推荐阅读
- azure - 从 webapp 中分离 azure slot
- python - pycharm,pydev调试器,增加内存使用
- javascript - Mongoose 难以理解如何正确使用 promises/async await
- azure-api-management - 在哪里可以找到 API 管理日志记录字段列表
- java - 从文本文件中读取 200 万条记录并将它们添加到 arraylist
- html - 如何添加透明边框?
- c - 通过使用指向该函数的指针从 ARM 微控制器的 ROM 调用函数?
- react-native - RNN [v2]:如何正确地从堆栈切换到底部选项卡
- flyway - 为什么 org.flywaydb.core.Flyway API 没有加载内置的 mysql 驱动程序
- java - 进程不会在 Java 中停止