Я пытаюсь сделать какое-то простое приложение в 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());
}
}
Дайте мне подсказку или ссылку.
Заранее спасибо.