JTree の編集に JTable を使用したいと思います。DefaultTreeCellEditor を拡張し、isCellEditable getTreeCellEditorComponent を実装しました。getTreeCellEditorComponent で JTable を返します。ノードが編集されると、この時点まですべてが機能し、オブジェクトのコンテンツで満たされた JTable が表示されますが、編集が完了すると、DefaultTreeModel の valueForPathChanged は呼び出されません。デフォルトである編集用のテキストフィールドを使用すると、すべて正常に動作します。
質問する
1522 次
1 に答える
2
JTextField
notifyAction
「notify-field-accept」という名前の があり、通常は にバインドされています。これは にKeyEvent.VK_ENTER
シグナルを送り、CellEditor
最終stopEditing()
的にDefaultTreeCellEditor
メソッド を呼び出しますvalueForPathChanged()
。
の編集が完了したことをどのように示すかは明確ではありませんJTable
。経由でカスタム エディタに追加されJTextField
た で同様のことができるはずです。CellEditorListener
addCellEditorListener()
ちなみに、valueForPathChanged()
「TreeModel でカスタム ユーザー オブジェクトを使用する場合は、これをサブクラス化し、変更されたノードのユーザー オブジェクトを意味のあるものに設定する必要があります」と述べています。
于 2010-08-08T14:53:18.483 に答える