отключить Combobox в jtable, установив флажок

Я пытаюсь сделать какое-то простое приложение в java. Я визуализировал некоторые CheckBox и ComboBox в jTable. Теперь я пытаюсь поработать над этим элементом, например, получить значение, включить-отключить поле со списком. Но я столкнулся с проблемой.
С чем я сейчас столкнулся
1.
Я отображаю ComboBox и CheckBox в jTable. Я пытаюсь включить ComboBox, когда я нажимаю флажок соответствующей строки. Если мой флажок не включен, то ComboBox должен быть отключен.
Я пробовал, но безуспешно.

2
Я пытаюсь установить флажок, но если я использую setSelected, тогда все флажки отмечены, но когда я пытаюсь снять его, это не так.
Вот мой код для справки.

    public class MyComboBoxRenderer extends JComboBox implements TableCellRenderer {
    public MyComboBoxRenderer(String[] items) {
        super(items);
    }

    public Component getTableCellRendererComponent(JTable table, Object value,
            boolean isSelected, boolean hasFocus, int row, int column) {
        if (isSelected) {
            setForeground(Color.BLACK);
            super.setBackground(Color.WHITE);
        } else {
            setForeground(Color.BLACK);
            setBackground(Color.WHITE);
        }

        // Select the current value
        setSelectedItem(value);
        return this;
    }
   }

    public class MyComboBoxEditor extends DefaultCellEditor {
    public MyComboBoxEditor(String[] items) {
        super(new JComboBox(items));
     }
   }

.

     public class MyCheckBoxRenderer extends JCheckBox implements TableCellRenderer {
     public MyCheckBoxRenderer(String[] items) {
        super();
       // setSelected(true);
     }

     public Component getTableCellRendererComponent(JTable table, Object value,
            boolean isSelected, boolean hasFocus, int row, int column) {
        if (isSelected) {
            setForeground(Color.BLACK);
            super.setBackground(Color.WHITE);
        } else {
            setForeground(Color.BLACK);
            setBackground(Color.WHITE);
        }

       // setSelected(true);
        // Select the current value

        return this;
    }
    }

    public class MyCheckBoxEditor extends DefaultCellEditor {
    public MyCheckBoxEditor() {
        super(new JCheckBox());

} 
}

Дайте мне подсказку или ссылку.
Заранее спасибо.


person Sandip Armal Patil    schedule 31.10.2012    source источник


Ответы (1)


person mKorbel    schedule 31.10.2012