背景情報:Swing:JInternalFrameをコンテナ内の他のコンポーネントに等しく扱うにはどうすればよいですか?
私はと
- 異なる複雑な要素から構成され、ビジュアルダイアグラムエディタを実装しています要素(サイズ変更不可、タイトルバーなし、サブ要素なし)。
すべての要素はドラッグ可能です。
JPanel (単純要素の場合)と一緒にJInternalFrame(複雑な要素の場合)を使用して回路図の要素を表しています。 これらの要素をすべて含むコンテナ(JDesktopPaneまたはJLayeredPaneのいずれか)があります。
ケース1 - コンテナがJDesktopPaneのである:
私はこの概念にはいくつかの問題を抱えている
- のJInternalFrameは、他の要素の上に常にあります。
- 他の要素をクリックすると、以前のアクティブなJInternalFrame
ケース2 "無効化" していない - コンテナがのJLayeredPaneである:
- JInternalFrameの内部のいくつかの要素をクリックした後、それがままに は「有効」になります。
ケース3 - JInternalFrameがすべてのために使用されるが、単純な要素のための装飾なし:
- (私は手動で JInternalFrameのタイトルバーを削除する際に必要とされている)私のカスタムボーダーです現在のLAF境界に置き換えられたたびに、 のJInternalFrameをアクティブ化/非アクティブ化した後。
とにかくJInternalFramesをアクティブにするという概念全体がわかりません。私はJInternalFrameがすべてで活性化しない作ることができれば 、私は ケース選ぶことができる2任意の幸せになります。
問題を特定するための簡単でわかりやすい解決策を教えてください。
注:コンポーネントの選択とJInternalFrame のアクティブ化は、異なるものと思われます。
はい、問題ありません。選択はJInternalFrameのアクティブ化とは関係ありません。 –
Javadocでさえ混乱しています。彼らは選択について話しますが、プロパティは "活性化"という名前です。注:「選択された」プロパティもあります(これは私の問題には当てはまりません)。うーん、私は混乱している... –
私はそれを取得しないでください。今ではInternalFrameListenerとFocusListenerをすべてのJIFに追加しましたが、これらのリスナーの中にはイベントがありません! –