2

私はJTreeを使用しており、これでJTreeノードの名前を変更するために、右クリック(ポップアップで名前を変更)またはF2キーまたはダブルクリックを使用しています。しかし、問題は次のとおりです。名前の名前を変更してEnterキーを押すと、ノードの名前が正常に変更され、名前の名前を変更してフレームの任意の場所をクリックすると( Windowsエクスプローラースタイル)、ノード名の名前が変更されません。

この問題の解決策を教えてください。よろしくお願いします。

4

2 に答える 2

6

少し遅いかもしれませんが、正しい解決策は を呼び出すことJTree.setInvokesStopCellEditing(true)です。これにより、ユーザーが Enter キーを押したとき、またはセル エディターがフォーカスを失ったときに、ツリーで名前の変更が実行されます。

于 2012-02-10T20:24:57.007 に答える
1

JTreeツリー内の他の場所をクリックして現在の編集を保存する機能は、デフォルトの実装の一部として標準装備されているものではありません。この機能を実現するには、ツリーの使用方法の詳細を理解し、特別なカスタマイズを行う必要があります。これは、Swing コンポーネントのフォーカスに関係するように思えます。つまり、ツリーがフォーカスを取得したとき、ノードが編集されている場合は、ノードの名前を変更して保存します。

于 2010-09-13T07:26:53.420 に答える