私は、アプリケーションのユーザが複数のウィンドウまたはframes
(java)間で切り替わるアプリケーションを作成しています。
frame
をfalse/true
に表示する代わりに、frame
を切り替える方法はありますか?複数フレーム管理アプリケーション
答えて
実際には異なるフレーム(またはJFrames)である必要がありますか、それとも異なるコンテンツセットですか?別のメニューバー、フレームタイトルなどが必要ですか?一般的に言えば、アプリケーションには、複数のパネルのコンテンツが入っている単一のフレームを持つことができます(おそらくCardLayoutのようなものを使用している可能性があります)。確かにあなたが望むことを行う方法があります。正面に別のものを持ってくるだけですか?そうであれば、すべてのフレームにtoFront()コールがあり、これを表示順序の先頭にポップしますが、フォーカスの問題にも対処する必要があります。
ウィンドウが現時点で表示されていない場合は、setVisible()
が正しい方法です。 ウィンドウが見えない場合は、requestFocus()
とrequestForcusInWindow()
を使用できます。
私は、ウィンドウ間の切り替えに 'setVisible()'を使用しない解決策が望まれます。なぜなら、フレームを作ることによって 'setVisible(false)'は依然としてメモリ上にあり、問題になる可能性があるからです。 –
フレームが閉じられたときにフレームを取り除きたいだけですか?そのためにWindowListenerを使用することができます。 – Kylar
@Kylar:はい、そうかもしれません。しかし、ユーザはウィンドウを切り替えるので、閉じたウィンドウを再び開く必要があり、以前の情報がいくつかあります。 –
- 1. Autodesk Forgeアプリケーションの複数の管理者
- 2. シングルトンメモリ管理(複数クラス)
- 3. 複数のdjango管理インスタンス
- 4. ドメイン管理(複数のサーバー)
- 5. 複数のデータベースの管理
- 6. 複数のDLLリソース管理
- 7. 複数のデータベース管理
- 8. 複数のマシン、複数のgitリビジョン管理用のユーザの管理方法
- 9. 同じコードベースで複数のWebアプリケーションを管理する
- 10. AIR/Flex 4アプリケーションで複数のWindowsを管理するには?
- 11. Djangoの管理コマンドをオーバーライドする複数のアプリケーションを扱う
- 12. 複数のページを反応アプリケーションとして管理する
- 13. Djangoで複数のアプリケーションの静的ファイルを管理する
- 14. 1つのIIS Webサイトで複数のアプリケーションをMSリリース管理
- 15. MVC3 Azureアプリケーション用の複数のweb.configファイルの管理
- 16. セレンのフレームを管理するC#WebDriver
- 17. 複数のgitバージョン管理リポジトリを管理する方法は?
- 18. 複数のフレーム
- 19. アプリケーション:didFinishLaunchingWithOptions:メモリ管理
- 20. Android:デバイス管理アプリケーション
- 21. Railsアプリケーション管理セクション
- 22. PHPファイル管理アプリケーション
- 23. Webアプリケーション:ユーザーデータベース管理
- 24. アプリケーション変更管理
- 25. アプリケーションがデータベースを管理するときに複数の開発者がデータベーススキーマ/データを管理する
- 26. tkinter - 複数のタグを管理する
- 27. Web開発バージョン管理 - 複数のバージョン
- 28. 複数のバッファ管理をCで
- 29. 管理する複数の群れクラスター
- 30. 複数のWindowsでのプロパティの管理
あなたの提案は 'CardLayout'を使うのはいいですが、アプリケーションの起動時に初期化されるかもしれない複数のパネルがあるとは思いませんでした。その後、メモリの問題が発生するでしょう –
それは依存します。私は巨大なGUIを作成し、巨大なJTablesやTextAreasが存在していない限り、めったにメモリの問題はありませんでした。もう1つの選択肢は、必要に応じて各パネル/フレームを再作成することです。これはあまりにもオーバーヘッドになる可能性があります。数千のGUIオブジェクトは、あなたが正しく行うならば、あなたが考えるかもしれないほど多くのメモリを消費しません。 – Kylar
もう1つ知りたいことがあります。ログインフォームがあり、ユーザーが** LogIn **ボタンをクリックして新しいウィンドウを開くと、 'setVisible(false)'の横のログインフォームをどうすればいいですか? –