2011-01-16 7 views

答えて

2

以下のマジックラインは、あなたが望むことをします。明らかにframeには、ターゲットフレーム、つまりフォーカスを移動したいフレームがあります。

frame.requestFocus(); 
frame.toFront(); 
2

のではなく、画面上の実際のウィンドウをスワップアウト、私はあなたが一つのメインJFrameのアプリケーションを持っていて、それがアプリケーションの状態に基づいて表示さのJPanelを入れ替えることが示唆されました。これは、ワープロやIDEを含むほとんどのプロフェッショナルアプリケーションと一線を画しており、ユーザーにとってはより自然なように見えます。これをJavaで実現するには、コンテナ(通常は他のJPanelとコンポーネントを保持するJPanel)を使用するようにしてください。CardLayoutを使用します。次に、保持しているJPanelをカードとして扱い、レイアウト内のメソッドを使用してスワップします。これに対する例外は、メインGUIの上にダイアログウィンドウが必要な場合です.JOptionPaneメソッドの1つを使用するか、モーダルまたは非モーダルのJDialogを作成して使用するだけで簡単に実現できます。

CardLayout Tutorial Link

1

@AlexRは正しいと私はウナギアプローチの@Hovercraft完全を好むが、あなたはまた、ボタンやフレームのこのexampleを試したいかもしれません。

関連する問題