java - 禁用时如何使 JCheckBox L&F 保持启用状态(true)?
问题描述
我有一个 Java 应用程序,它有用于显示对象状态的 JCheckBoxes。用户不能/不应更改这些复选框。
所以,很明显,我做到了:
checkbox.setEnabled(false);
但是,现在刻度/图标图像变灰了。
我希望禁用的 JCheckBox 看起来更好,就像它启用但不允许用户更改其状态。
我怎样才能做到这一点?如何使禁用的 CheckBox 上的 TICK 图像看起来更好(更高的对比度)?
解决方案
我希望禁用的 JCheckBox 看起来更好,就像它启用但不允许用户更改其状态。
这对我说“只读” JCheckBox
。在这种情况下,您需要提供一个ButtonModel
阻止状态更改的参数。例如如何在 Swing 中制作只读的 JCheckBox?
我想实际更改 CheckBox 上的刻度图像/颜色
然后你需要使用JCheckBox#setSelectedIcon
andJCheckBox#setIcon
以及JCheckBox#setDisabledIcon
andJCheckBox#getDisabledSelectedIcon
方法来提供你自己的图标
推荐阅读
- material-ui - material-ui / 如何使用 'withStyles()' 设置 HOC 样式?
- c# - 使用 WITH MOVE 标识文件的有效位置。例外
- selenium - Selenium C#如何获取元素
- azure - 用于容器状态存储的 Azure Web App
- mysql - 删除时 SQL 触发器实现反向级联
- android - 运算符 != 不能应用于 double、null
- html - 将 HTML 内容导入其他 HTML 页面
- javascript - redux.js:91 未捕获的错误:期望减速器是一个函数
- python - 没有 gtk 纯粹使用 opencv 更快地获取像素数据
- c++ - 双链表代码修订