Я использую пользовательский рендер в JList, но ни один из отображаемых компонентов не доступен.
list.setCellRenderer(new ListCellRenderer() {
public Component getListCellRendererComponent(JList list, Object value,
int index, boolean isSelected, boolean cellHasFocus) {
JCheckBox c = new JCheckBox();
JButton b = new JButton("My Button!");
JPanel p = new JPanel(new FlowLayout());
p.add(c);
p.add(b);
if (isSelected) {
p.setBackground(Color.LIGHT_GRAY);
}
return p;
}
});
Нажатие на флажок или кнопку ничего не делает. Я также пытался добавить ActionListener к кнопкам, но он не срабатывал при нажатии. Единственное, что работает, это цвет фона при выделенном элементе (см. Скриншот).
Когда я нажимаю кнопку, нет даже "анимации щелчка".
альтернативный текст http://foto.darth.cz/pictures/2009-05-19_151057.png
Итак, мой вопрос: нужно ли делать что-то еще, чтобы включить выравнивание на визуализированных компонентах?