0

これは本当に私を混乱させます。これまでのコードを表示します。特定のフィールドを編集可能にしようとしています。これが最終目標ですが、テストのために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;
}

}

お手数をおかけしますが、よろしくお願いいたします。

4

1 に答える 1

1

TreeTableModelに対して true を返すことを確認してくださいisCellEditable

于 2012-06-22T22:34:22.223 に答える