Java 选定单元格L&;F自定义渲染器中UIManager的默认颜色

Java 选定单元格L&;F自定义渲染器中UIManager的默认颜色,java,swing,jlist,uimanager,listcellrenderer,Java,Swing,Jlist,Uimanager,Listcellrenderer,我有一个自定义的JList渲染器,它有一个图像和一些标签。我知道如何使用isSelected变量和UIManager默认L&F设置此列表的背景和前景 public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { panel.setForeground(isSelected ? list.ge

我有一个自定义的JList渲染器,它有一个图像和一些标签。我知道如何使用isSelected变量和UIManager默认L&F设置此列表的背景和前景

public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
        panel.setForeground(isSelected ? list.getSelectionForeground() : list.getForeground());
        panel.setBackground(isSelected ? list.getSelectionBackground() : list.getBackground());
这很好,但我不确定JLabel的颜色,因为有“选定”颜色键。因此,当项目被选中时,它不会改变颜色,并且对比度很小

我可以使用从
UIManager
获取数据,但我不确定哪些数据用于“所选JList项目标签”


例如,在OSX上,默认为白色背景和黑色文本。但是,在选择时,单元格背景为蓝色,文本变为白色。我想知道如何查找标签的颜色(在本例中为白色)。我只能找到前台/后台/禁用。

List.selectionBackground和List.selectionForeground。通常,这不会影响图标/图像itself@MadProgrammer这和我已经发布的代码不一样吗?我要找的是有标签的,不是列表背景的。标签和列表对于选定项和非选定项具有不同的颜色。标签没有任何不同的颜色,除非您定义它们,但默认情况下,DefaultListCellRenderer使用这些键值(并缓存它们)