JInternalFrame
をJDesktopPaneのすべてのフレームの先頭にプッシュするにはどうすればよいですか?JInternalFrame to front and focussed
答えて
JInternalFrame APIを読み、アクティブな内部フレームを「選択」する方法の実例がある「内部フレームの使い方」のSwingチュートリアルへのリンクに従ってください。
grabFocus()とrequestFocus()を試してください。 1つはうまくいくはずです。私は個人的にrequestFocus()のみを使用しました。
私のためには機能しません。また、(それがうまくいけば)、APIによると、あなたはrequestFocusInWindow()を使用する必要があります。 – camickr
動作しませんでした。 desktop.getDesktopManager()を使用して終了しました。activateFrame(jif); JIFがJInternalFrameの場合 – davidahines
この場合、grabFocus()、requestFocus()、またはtransferFocus()のどちらも動作しません。 setSelected(true)、私のために働いた。 – lepe
このexampleでは、メニューからフレームを選択するのにjavax.swing.Action
が使用されます。 * /その後、
/*(偽)するsetSelected JInternalFrameのメソッドを呼び出すことにより、選択解除現在のJInternalFrameを作る
同じ方法を使用して新しいJInternalFrameのを選択します。すなわち(真)するsetSelected
サンプルコード:
試し{ jframe1.setSelected(偽); jframe2.setSelected(true); }キャッチ(はPropertyVetoExceptionの例){}
Closing a modal JInternalFrame 氏禅(私)によってポストを参照してください
OPはsetSelected
が働いていなかったと指摘している、と彼は手動activateFrame
を呼び出すために必要な。これは私がGTKLookAndFeel
としていた問題と似ています。私はすべて最終的にactivateFrame
をトリガーするためにsetSelected
を使用するように配線されたアプリケーションを持っていました。 WindowsとMacのネイティブなルック&フィールでうまく動作しました。 activateFrame
が自動的に呼び出されます。
Ubuntuでは、LaFを選択したシステムはGTKLookAndFeel
であり、何らかの理由でactivateFrame
が呼び出されていませんでした。 setSelected
がエラーや何かを投げているようには見えなかったが、他のLaFsがそうしているようにactivateFrame
と呼ぶことにはならなかった。私はそれがGTKLookAndFeel
の互換性の問題だと思う。
最後に私はこれに賭けてGTKLookAndFeel
を禁止し、それをMetal
に置き換えました。 Motif
も互換性のある動作をしていました(しかし、それはとても醜いです...)。コードは次のようになります。
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
if (UIManager.getLookAndFeel() instanceof com.sun.java.swing.plaf.gtk.GTKLookAndFeel)
UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());
+1おそらくそれはそれを説明しています。私はUbuntuで "Nimbus"を使用しています。 – lepe
- 1. Java JInternalFrame to JPanel
- 2. Eclipse SWT Shell to JInternalFrame
- 3. ユーザーコントロールから「Bring to front」
- 4. how to textview and android
- 5. 'bring to front'イベントを検出しますか?
- 6. Linq to SQL Join and Where
- 7. Linq to XML、yield and others
- 8. VB.NET Text to Speech and Multiple Languages
- 9. Linq To SQL Group By and Sum
- 10. JQuery ScrollLeft to Origin and Equal Increments
- 11. Preg_match、Replace and string to back
- 12. front()とbegin()の違い
- 13. モーダルJInternalFrameを閉じる
- 14. JFreechartのJInternalFrameでの例外
- 15. JInternalFrame再描画の問題
- 16. 他のjinternalframeクラスを使用してjdesktoppaneにjinternalframeクラスを追加する
- 17. JavaでJInternalFrameを最大化する
- 18. OpenSSL、RSA and Winsock and C++
- 19. JInternalFrameのタイトルバーを隠していますか? -java
- 20. JInternalFrameのサイズを設定するには
- 21. jInternalFrameを使用する際の欠点
- 22. JInternalFrameのサイズチェックを強制的に行う
- 23. JInternalFrameのフォーカスを維持する
- 24. MacOSでJInternalFrameを宣言しない
- 25. JInternalFrameのform_loadイベントはどこですか?
- 26. SubSonic "Or" AND "AND"
- 27. mySQL - WHERE AND AND OR
- 28. と[Db to PHP to JSON to AJAX to HTML]速度差
- 29. EOR/XORとANDでANDキャリーフラグ
- 30. SQL演算子:AND AND OR
DestopManager.activateFrame(frame)が解決策であることが判明しました。私はそこの例の一つからそれを導き出しました。助けてくれてありがとう。 – davidahines
@dah、私はframe.setSelected(true)がもっと簡単だと思ったでしょう。これは、新しいフレームが作成されるたびにこの例が使用するものです。私はチュートリアルで参照されているactivateFrame()メソッドを見たことがありません。 – camickr
私はなぜそれがわからないのですが、それは私にとってはうまくいきませんでした。 – davidahines