【发布时间】:2013-10-18 06:33:52
【问题描述】:
我JList 中的项目曾经是黑色的
但是当我将 enable 设置为 false 时,它变成了灰色。如何保持黑色或将其设置回黑色?
【问题讨论】:
-
如需尽快获得更好的帮助,请发帖SSCCE。
-
你为什么要欺骗你的用户?如果没有任何关于禁用列表的视觉线索,他们可能会感到困惑。
我JList 中的项目曾经是黑色的
但是当我将 enable 设置为 false 时,它变成了灰色。如何保持黑色或将其设置回黑色?
【问题讨论】:
列表项的视觉效果完全由 ListRenderer 控制。如果您真的坚持,请继承默认值并将其 enabled 属性设置为 true:
public Component getListCellRendererComponent(....) {
super.getListCellRendererComponent(....);
setEnabled(true);
return this;
}
当心:让您的用户感到困惑绝不是一个好主意 - 如果没有任何视觉线索表明该列表已被禁用,他们可能会因为 f.i. 而迷失方向。选择没有按预期工作!
【讨论】: