我有一个自定义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的颜色,因为有选择"颜色键。因此,当选择项目时,它不会改变颜色并且几乎没有对比度。
I found a list of keys我可以用来从UIManager
获取数据,但我不确定哪些用于"选择的JList项目标签"。
例如,在OSX上,默认为白色背景,黑色文本。但是在选择时,单元格背景为蓝色,文本变为白色。我想知道如何查找标签转向的颜色(在本例中为白色)。前景/背景/残疾是我能找到的唯一。