【问题标题】:How to keep JCheckBox L&F as in enabled(true) when disabled?禁用时如何使 JCheckBox L&F 保持启用状态(true)?
【发布时间】:2018-06-12 08:33:31
【问题描述】:

我有一个 java 应用程序,它具有用于显示对象状态的 JCheckBoxes。 用户不能/不应更改这些复选框。

所以,很明显,我做到了:

checkbox.setEnabled(false);

但是,现在刻度/图标图像变灰了。

我希望禁用的 JCheckBox 看起来更好,就像它启用但不允许用户更改其状态。

我该怎么做?如何使禁用的 CheckBox 上的 TICK 图像看起来更好(更高的对比度)?

【问题讨论】:

  • 好的,因为这不会让用户感到厌烦......你需要一个“只读”ButtonModel
  • swingX 上有类似的东西吗?
  • 我不这么认为——这是一个反直觉的要求
  • 对不起,您提到的主题并没有真正的正确答案。它只是使 CheckBox 只读.. 当我真的只想让 checkBox 图像不同时。
  • 啊哈,但你也不希望用户改变状态,所以你有一个只读复选框,它只能显示状态,但不能改变,它不'看起来没有被禁用......当不符合您的要求时让我知道

标签: java swing checkbox


【解决方案1】:

我希望禁用的 JCheckBox 看起来更好,就像它启用但不允许用户更改其状态。

这对我说“只读”JCheckBox。在这种情况下,您需要提供一个 ButtonModel 来阻止状态更改。例如How to make read-only JCheckBox in Swing?

我想实际更改 CheckBox 上的刻度图像/颜色

那么你需要使用JCheckBox#setSelectedIconJCheckBox#setIcon以及JCheckBox#setDisabledIconJCheckBox#getDisabledSelectedIcon方法来提供你自己的图标

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-21
    • 2014-07-23
    相关资源
    最近更新 更多