自定义渲染器

时间:2015-06-13 03:09:24

标签: 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.getSelectionForeground() : list.getForeground());
        panel.setBackground(isSelected ? list.getSelectionBackground() : list.getBackground());

这样可以正常工作,但我不确定JLabel的颜色,因为有选择"颜色键。因此,当选择项目时,它不会改变颜色并且几乎没有对比度。

I found a list of keys我可以用来从UIManager获取数据,但我不确定哪些用于"选择的JList项目标签"。

例如,在OSX上,默认为白色背景,黑色文本。但是在选择时,单元格背景为蓝色,文本变为白色。我想知道如何查找标签转向的颜色(在本例中为白色)。前景/背景/残疾是我能找到的唯一。

0 个答案:

没有答案