无需渲染器即可更改 JComboBox 颜色
我可以使用以下命令更改组合框背景颜色:
UIManager.put("ComboBox.background", Color.RED);
并且它有效。
但要更改[selected].background,请查看Nimbus Defaults 该属性称为 ComboBox:"ComboBox.listRenderer"[Selected].background,所以我尝试使用:
UIManager.put("ComboBox:\"ComboBox.listRenderer\"[Selected].background", Color.RED);
但是它不起作用。
我想用渲染器来做到这一点(我已经尝试过,并且在我什至没有自己编写的长代码中给出了许多问题,并且如果我这样做,将组合框渲染到 JFileChoosers 中是一个额外的问题)。那么,是否有任何解决方案可以使用 UIMManager.put() 来解决此问题?
I can change the ComboBox background color using:
UIManager.put("ComboBox.background", Color.RED);
and it works.
But to change the [selected].background, having a look at Nimbus Defaults the property is called ComboBox:"ComboBox.listRenderer"[Selected].background, so I tried with:
UIManager.put("ComboBox:\"ComboBox.listRenderer\"[Selected].background", Color.RED);
but it doesn't work.
I want to do this with a renderer (which I have tried and gives many problems into a long code I even hadn't written myself, and rendering the comboboxes into the JFileChoosers is an extra problem if I go that way). So, is there any solution to fix this using UIMAnager.put()?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
设置不同的
Color
,而不使用Nimbus defaluts
1/ 对于单独的 JComboBox
2/ 对于 JFileChooser
从
JFileChooser< 中提取所有
JComponents
/code>(复合JComponents
)如建议的此处,与JList 描述的方式相同
和JScrooPane
最安全的方法是从
JFileChooser
中提取所有JComponents
,正如您之前关于 这里3/ 通过使用
NimbusDefalut
查找默认值JTextField
以及我的添加 No.1 中的建议JComboBox 的下拉列表
来自JList
的默认值,HighLighter 用于从JTable
中进行选择
编辑:
代码
set different
Color
, without usingNimbus defaluts
1/ for separate JComboBox
2/ for JFileChooser
extract all
JComponents
fromJFileChooser
(compoundJComponents
) as sugested here, same way as is described forJList
andJScrooPane
safiest way by extract all
JComponents
fromJFileChooser
as suggested in your previous post about that here3/ by using
NimbusDefalut
find defalut forJTextField
and as suggested in my add No.1JComboBox's DropDown List
from defaluts forJList
, HighLighter for selection fromJTable
EDIT:
code