当前位置: 首页 > 知识库问答 >
问题:

如何禁用按钮组中的JRadioButtonJava

易琨
2023-03-14

我在Java中的ButtonGroup中有四个JRatioButton。前两个已启用,另两个已禁用。如果选择了一个特定的JRatioButton,我需要启用两个禁用的JRatioButton。

我试图找到按钮的状态并启用禁用的按钮,显然我找到了禁用状态的按钮,但没有更改该状态。

private void activateButtons() {
    Enumeration<AbstractButton> elements = myButtonGroup.getElements();
    while (elements.hasMoreElements()) {
          AbstractButton button = (AbstractButton)elements.nextElement();
          if (button.isEnabled()) {
            System.out.println("This button is disabled! The text of the button is: '" + button.getText() + "'");
            button.setEnabled(true);
          }
    }
}

我得到了禁用按钮的文本,但我不能禁用它们。

需要帮忙吗?谢谢!

共有3个答案

能文华
2023-03-14

是的,您设置启用(true)为启用的RadioButton。
所以这里编辑了,希望能帮助到某人。

private void activateButtons() 
{
    Enumeration<AbstractButton> elements = myButtonGroup.getElements();
    while (elements.hasMoreElements()) 
    {
          AbstractButton button = (AbstractButton)elements.nextElement();
          if (button.isEnabled())     // if enabled (true) 
          {
            System.out.println("This button is disabled! The text of the button is: '" + button.getText() + "'");
            button.setEnabled(false); // set it disabled (false)
          }
    }
}

谢谢@Hannibal,你的帖子救了我一天。

吴子昂
2023-03-14

试试这个,它的工作原理。

AbstractButton button = ...

button.getModel().setEnabled(true/false)
翟功
2023-03-14

我不知道您是否在查找第二组中单选按钮的引用时遇到任何问题,或者您只是无法禁用单选按钮。

对于第一个问题,很简单,只需将单选按钮的引用保留在第二组中。

对于第二个问题,您需要子类化一个JRadioButton,因为我发现您不能简单地为单选按钮的对象调用disable。

子类的代码示例如下所示。

this.editable = editable;
if (editable) {
    this.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
    super.enableEvents(Event.MOUSE_DOWN | Event.MOUSE_UP);
} else {
    this.setCursor(CursorFactory.createUnavailableCursor());
    super.disableEvents(Event.MOUSE_DOWN | Event.MOUSE_UP);
}
 类似资料:
  • 问题内容: 我有这个组成部分: 我希望在输入值为空时禁用按钮。但是上面的代码不起作用。它说: add-item.component.js:78未捕获的TypeError:无法读取未定义的属性“值” 指向。我在这里怎么做错了?我猜测执行方法时可能尚未创建ref 。如果是,那么解决方法是什么? 问题答案: 使用不是最佳实践,因为它直接读取DOM,最好使用React的。另外,您的按钮不会更改,因为该组件

  • 问题内容: 我有angularJS 1.5.0-rc.2 我在互联网上发现可以使用该指令 但这不会禁用按钮。 我试过的 在我的控制器中,loaded定义为$ scope.loaded = false。 如何禁用按钮?谢谢 问题答案: 仅当表达式为 true时, 该按钮才会被禁用。

  • 所以我的问题是我该怎么做?这似乎是一个非常简单的需求,但我在文档中找不到任何关于如何执行的内容。 多谢了。

  • 问题内容: 单击后,我想在iOS上禁用按钮()。我是开发iOS的新手,但我认为目标上的等效代码-C是这样的: 但是我不能迅速做到这一点。 问题答案: Swift中的布尔值是。 应该做。 这是的属性的Swift文档。

  • 问题内容: 我了解到,您可以仅通过将HTML按钮附加到其标签来禁用(使其实际上不可点击),但不能将其作为属性,如下所示: 由于此设置不是属性,因此如何通过JavaScript动态添加此设置以禁用以前启用的按钮? 问题答案: 由于此设置不是属性 这是一个属性。 一些属性定义为布尔值,这意味着您可以指定它们的值,而忽略其他所有内容。即,您只包括粗体部分,而不是disabled =“ disabled

  • 问题内容: 我有一个asp按钮。它是服务器端的,因此我只能向登录的用户显示它,但是我希望它运行javascript函数,并且似乎在runat =“ server”时始终调用回发事件。 我还有一个常规按钮(>)不在服务器上运行,并且工作正常… 如何使此按钮仅运行javascript而不能回发? 问题答案: 完成后,让您的JavaScript返回false。