【问题标题】:How to make Java Swing Radio Buttons unselectable but not greyed out?如何使 Java Swing 单选按钮无法选择但不灰显?
【发布时间】:2015-03-12 08:22:27
【问题描述】:

我正在开发一个 Java Swing 应用程序,我想使用 JRadioButton 对象来显示状态。我不希望用户能够选择它们。如果我使用按钮的.setEnabled(false) 方法,则单选按钮将显示为灰色。

我不希望单选按钮变灰。有没有办法覆盖它?

【问题讨论】:

  • “我不希望单选按钮变灰。” 而且我(作为假设的最终用户)不希望 GUI 上出现的控件..可控,但不可控!如何尊重“最不意外的道路”并且做你正在尝试的事情?
  • “我不希望单选按钮变灰” 作为另一个“假设的最终用户” - 为什么?

标签: java swing jradiobutton


【解决方案1】:

你可以这样做:

boolean rButtonEnabled = false;
JRadioButton rButton = new JRadioButton();

rButton.addActionListener(new ActionListener(){

        @Override
        public void actionPerformed(ActionEvent e) {
            rdbtnNewRadioButton.setSelected(rButtonEnabled);

        }

});

这不是漂亮的解决方案,但我希望它有所帮助。 要存储新值,您可以创建一个扩展 JRadioButton 的新类。

虽然这不使用 .setEnabled(),但实际上是相同的

【讨论】:

  • “这不是漂亮的解决方案 [...]。” 是的,没错。这是hacky和颠覆性的。反对者可能会同意。
  • @Radiodef 虽然代码对于这样的度量可能看起来有点极端,但它的实际显示效果很好。
猜你喜欢
  • 2011-01-25
  • 1970-01-01
  • 2018-09-17
  • 2018-07-08
  • 1970-01-01
  • 2011-08-31
  • 1970-01-01
相关资源
最近更新 更多