Swing/InvokesStopCellEditing のバックアップの現在との差分(No.4)
- category: swing folder: InvokesStopCellEditing title: JTreeのノード編集をコミット tags: [JTree] author: aterai pubdate: 2014-02-24T00:00:29+09:00 description: JTreeのノード編集中に割り込みが発生した場合、変更の自動保存を行うかどうかを設定します。 image: image: https://drive.google.com/uc?id=1nU2V_hZrYKlbQQtDisY7OWWTeutyiW4pjQ
概要
JTree
のノード編集中に割り込みが発生した場合、変更の自動保存を行うかどうかを設定します。
Screenshot
Advertisement
Screenshot
Advertisement
サンプルコード
解説
JTree
のノード編集に割り込みが発生した場合の動作を変更します。
JTree
のノード編集に割り込みイベントが発生した場合の動作を変更します。
tree.setInvokesStopCellEditing(false);
- デフォルト
- 編集に割り込みが発生したとき、
JTree#cancelCellEditing()
が呼び出され、変更は破棄される - 編集に割り込みが発生した場合、
JTree#cancelCellEditing()
が呼び出されてデータ変更は破棄される
tree.setInvokesStopCellEditing(true);
- 編集に割り込みが発生したとき、
JTree#stopCellEditing()
が呼び出され、データが保存される - 編集に割り込みが発生した場合、
JTree#stopCellEditing()
が呼び出されてデータ変更が保存される
- 編集に割り込みが発生したとき、
ノード編集の割り込みは、その
JTree
内の別のノードがクリックされた場合などに発生します。TabキーなどでJTree
以外のコンポーネントにフォーカスが移動したり、親Window
がフォーカスを失っても、割り込みは発生しないため、編集中の状態が維持され、再度JTree
にフォーカスを戻せば編集を再開することができます。
- ノード編集の割り込みイベントは、その
JTree
内の別のノードがクリックされた場合などに発生する - Tabキーなどで
JTree
以外のコンポーネントにフォーカスが移動したり、親Window
がフォーカスを失っても割り込みは発生しないため、編集中の状態が維持されて再度JTree
にフォーカスを戻せば編集の再開が可能
参考リンク
- JTree#setInvokesStopCellEditing(boolean) (Java Platform SE 7)
- JTree#setInvokesStopCellEditing(boolean) (Java Platform SE 8)
- JTableのセルの編集をコミット