Это меня действительно сбивает с толку. Пока я покажу свой код. Я пытаюсь сделать редактирование определенного поля. Это конечная цель, но я просто попытался установить JCheckBox только для тестирования. Но даже это не работает.JXTreeTable - мой узел доступен для редактирования, но другие ячейки не являются
Не могли бы вы взглянуть на это. Я был бы очень признателен.
Все JXTreeTable делает мои узлы доступными для редактирования. который я не хочу, так же как если бы я менял свой узел, его редактирование будет сохраняться через всю строку, которая тоже мне не нужна.
Вот что я сделал:
Intialization
JXTreeTable table = new JXTreeTable(Shared.model);
table.setDefaultEditor(Object.class, new ComplexCellEditor());
table.setRootVisible(false);
table.setEditable(true);
table.getColumnModel().getColumn(0).setPreferredWidth(200);
table.setColumnControlVisible(true);
Это мой ComplexCellEditor.java
class ComplexCellEditor extends DefaultCellEditor{
public ComplexCellEditor() {
super(new JTextField());
Console.t("here");
}
public Component getTreeCellEditorComponent(JTree tree, Object value, boolean isSelected, boolean a, boolean b, int row)
{
Component component = super.getTreeCellEditorComponent(tree, value, isSelected, a , b, row);
Console.t("here"); <--**//THIS DOESN'T EVEN GET PRINTED**
JCheckBox chk= new JCheckBox();
return chk;
}
}
Спасибо для вашего времени и усилий.
Убедитесь, что ваш 'TreeTableModel' возвращает true для' isCellEditable'. – tenorsax
@Max: поставьте это как ваш ответ, и я дам вам кредит. thanku – bluejamesbond