これは本当に私を混乱させます。これまでのコードを表示します。特定のフィールドを編集可能にしようとしています。これが最終目標ですが、テストのためにJCheckBoxを入れようとしました。しかし、それでもうまくいかないようです。
これを見てください。とても感謝しております。
JXTreeTableが行うのは、ノードを編集可能にすることだけです。これは必要ありません。ノードを変更した場合でも、その編集によって行全体が保存されますが、これも実際には必要ありません。
これが私がしたことです:
初期化
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;
}
}
お手数をおかけしますが、よろしくお願いいたします。