Как включить события на компоненты в JList

голоса
1

Я использую пользовательский визуализатор на 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

Так что мой вопрос, я должен сделать что-то еще, чтобы включить эвен на визуализированных компонентах?

Задан 19/05/2009 в 14:12
источник пользователем
На других языках...                            


1 ответов

голоса
3

То же, что для таблиц действительно. Компонент визуализации в действительности не является реальным компонентом. Это так же, как шаблон, используемый для рисования поддельного компонента. Почему бы вам не попробовать склеить свои компоненты либо JScrollPane или сделать их в одну колонку JTable и осуществлять соответствующие средства визуализации / редактор вместо этого?

Ответил 19/05/2009 в 14:22
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more