• category: swing folder: InvokesStopCellEditing title: JTreeのノード編集をコミット tags: [JTree] author: aterai pubdate: 2014-02-24T00:00:29+09:00 description: JTreeのノード編集中に割り込みが発生した場合、変更の自動保存を行うかどうかを設定します。 image: https://lh6.googleusercontent.com/-KbIRjsEYzEA/Uwny844Zc3I/AAAAAAAACAY/_3w4abiuaIo/s800/InvokesStopCellEditing.png image: https://drive.google.com/uc?id=1nU2V_hZrYKlbQQtDisY7OWWTeutyiW4pjQ

概要

JTreeのノード編集中に割り込みが発生した場合、変更の自動保存を行うかどうかを設定します。

サンプルコード

tree.setInvokesStopCellEditing(true);
View in GitHub: Java, Kotlin

解説

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にフォーカスを戻せば編集の再開が可能

参考リンク

コメント