• 追加された行はこの色です。
  • 削除された行はこの色です。
TITLE:JTreeのノード編集をコミット
#navi(../)
#tags(JTree)
RIGHT:Posted by &author(aterai); at 2014-02-24
* JTreeのノード編集をコミット [#n643a931]
---
category: swing
folder: InvokesStopCellEditing
title: JTreeのノード編集をコミット
tags: [JTree]
author: aterai
pubdate: 2014-02-24T00:00:29+09:00
description: JTreeのノード編集中に割り込みが発生した場合、変更の自動保存を行うかどうかを設定します。
image: https://drive.google.com/uc?id=1nU2V_hZrYKlbQQtDisY7OWWTeutyiW4pjQ
---
* 概要 [#summary]
`JTree`のノード編集中に割り込みが発生した場合、変更の自動保存を行うかどうかを設定します。

#download
#ref(https://lh6.googleusercontent.com/-KbIRjsEYzEA/Uwny844Zc3I/AAAAAAAACAY/_3w4abiuaIo/s800/InvokesStopCellEditing.png)
#download(https://drive.google.com/uc?id=1nU2V_hZrYKlbQQtDisY7OWWTeutyiW4pjQ)

** サンプルコード [#c2ececa7]
* サンプルコード [#sourcecode]
#code(link){{
tree.setInvokesStopCellEditing(true);
}}

** 解説 [#sef9f0f4]
`JTree`のノード編集に割り込みが発生した場合の動作を変更します。
* 解説 [#explanation]
`JTree`のノード編集に割り込みイベントが発生した場合の動作を変更します。

- `tree.setInvokesStopCellEditing(false);` デフォルト
-- 編集に割り込みが発生したとき、`JTree#cancelCellEditing()`が呼び出され、変更は破棄される
- `tree.setInvokesStopCellEditing(false);`
-- デフォルト
-- 編集に割り込みが発生した場合、`JTree#cancelCellEditing()`が呼び出されてデータ変更は破棄される
- `tree.setInvokesStopCellEditing(true);`
-- 編集に割り込みが発生したとき、`JTree#stopCellEditing()`が呼び出され、データが保存される
-- 編集に割り込みが発生した場合、`JTree#stopCellEditing()`が呼び出されてデータ変更が保存される

----
ノード編集の割り込みは、その`JTree`内の別のノードがクリックされた場合などに発生します。タブキーなどで`JTree`以外のコンポーネントにフォーカスが移動したり、親`Window`がフォーカスを失っても、割り込みは発生しないため、編集中の状態が維持され、再度`JTree`にフォーカスを戻せば編集を再開することができます。
ノード編集の割り込みイベントは、その`JTree`内の別のノードがクリックされた場合などに発生します。KBD{Tab}キーなどで`JTree`以外のコンポーネントにフォーカスが移動したり、親`Window`がフォーカスを失っても、割り込みは発生しないため、編集中の状態が維持され、再度`JTree`にフォーカスを戻せば編集を再開できます。

** 参考リンク [#x38bb578]
- [http://docs.oracle.com/javase/jp/7/api/javax/swing/JTree.html#setInvokesStopCellEditing(boolean) JTree#setInvokesStopCellEditing(boolean) (Java Platform SE 7)]
* 参考リンク [#reference]
- [https://docs.oracle.com/javase/jp/8/docs/api/javax/swing/JTree.html#setInvokesStopCellEditing-boolean- JTree#setInvokesStopCellEditing(boolean) (Java Platform SE 8)]
- [[JTableのセルの編集をコミット>Swing/TerminateEdit]]

** コメント [#i00d486a]
* コメント [#comment]
#comment
#comment