データ モデルが DefaultTreeTableModel を拡張し、CustomNode が AbstractMutableTreeTableNode を拡張する JXTreeTable があります。各列は、階層ツリー ノードと同様に、期待どおりに編集可能です。
JXTreeTable の階層列にカスタム エディタ (TreeTableCellEditor) を適用する方法は?
以下はいくつかの試みでしたが、予期しない結果が得られました。
treeTable.setCellEditor(editor)
treeTable.getColumnModel().getColumn(0).setCellEditor(editor)
treeTable.getColumn(0).setCellEditor(editor)
treeTable.getColumnExt(0).setCellEditor(editor)
階層列のレンダリングに使用される固有のツリーを取得できましたが、それを介してカスタム エディターを指定することもできませんでした。
private JTree getTree(JXTreeTable treeTable){
try{
Field field = JXTreeTable.class.getDeclaredField("renderer");
field.setAccessible(true);
return (JTree)field.get(treeTable);
}catch(NoSuchFieldException | SecurityException | IllegalArgumentException | IllegalAccessException ex){
throw new RuntimeException(ex);
}
}
以前に投稿された「回避策」があったようですが、ページ コンテンツにアクセスできません: http://forums.java.net/jive/message.jspa?messageID=387603 ( https:// java.net/projects/swingx/lists/issues/archive/2012-06/message/22 )
カスタムエディタをツリー列に指定する手がかりはありますか?
フィードバックをお寄せいただきありがとうございます。