2011-07-27 8 views
1

JTreeがDefaultTreeCellEditorを使用してノードを編集するJavaプログラムで作業しています。 EditorComponentは、JTextFieldと2つのJButtonを持つJPanelです。私の問題は、Abort-ButtonのクリックだけがEditmodeを離れるべきですが、EditorComponentがフォーカスを失うたびにEditmodeも残ることです。 EditorComponentがフォーカスを失った場合、DefaultTreeCellEditorがそのEditmodeを離れるのを防ぐ方法は?DefaultTreeCellEditorがEditmodeを離れるのを防ぐには?

答えて

1

ようこそ!

AfaikのDefaultTreeCellEditorには、DefaultCellEditorと同様にstopCellEditing()というメソッドがあります。このメソッドは、編集モードを終了する前に毎回呼び出されます。したがって、このメソッドをオーバーライドすると、独自のロジックを統合できます。たとえば、ボタンxyが押された場合、現在の値が正しい値などの場合はtrueを返し、そうでない場合はfalseを返して編集モードを維持します。

+0

大変ありがとうございます。あなたの答えは正しい方向の第一歩ですが、setInvokesStopCellEditing(true);も呼び出さなければなりません。それ以外の場合は、stopCellEditing() - Methodeは呼び出されません。以下のバグノートへのリンクは、stopCellEditing()の使用方法の完全な例を示しています。 http://developer.java.sun.com/developer/bugParade/bugs/4436145.html よろしくうれしい CrasyHorse – user865294

+0

は、私は正しい方向にあなたを指すことができました。今までのところ、TreeTablesでは扱っていません。ちょうど通常のテーブルにsimularを推測しました。だから、私はこの情報を念頭に置いて、更新に感謝します! – crusam

関連する問題