私は他のすべてのクラスに入れたメニューバークラス(MenuBarGUI)を持っており、メニューのオプションを使って現在のJFrameを閉じることができるかどうかを知る必要があります。通常はsetVisible(false)を呼び出してdispose()を呼び出すことができますが、メニューバーには現在のフレームへの参照がないため、できません。これを行う方法はありますか?Javaの現在のフレームへの参照を取得する方法はありますか?
答えて
あなたMenuBarGUIクラスはJMenuBarのを拡張する場合は、メニューバーのウィンドウを取得するにはgetTopLevelAncestorメソッドを使用することができます。
getParent()
は、親コンテナを取得します。この方法では、いくつかのキャストを行う必要があります。より理想的な選択肢は、メニューバーがcloseメソッドを含むインターフェースをとることができるようにすることです。ここで
は一例です:
JFrame frame = new JFrame();
JMenuBar bar = new JMenuBar();
frame.setJMenuBar(bar);
if(bar.getParent().getParent().getParent() instanceof JFrame){
System.out.println(bar.getParent().getParent().getParent());
}
はどのように正確に私はのgetParent()メソッドを実装することができ?コンテナをウィンドウにキャストすることがどれほど安全かはわかりません(非常に安全ではないようです)。また、私は他の方法をどのように実装できますか? – LOD121
私は例を追加しましたが、このルートに行く場合は、GurselのgetTopLevelAncestorの提案がより適切でしょう。 – jzd
ありがとうございます。 instanceofを使用してJFrameのインスタンスであるかどうかを確認した後、JFrameにコンテナをキャストし、setVisible(false)およびdispose()を実行してウィンドウを閉じました。それはうまくいった。 – LOD121
上記のアプローチのどれも私には効果がありませんでした。
私はパネルの直接の親を必要とするので、スーパーの呼び出しを通じて直接アクセス:super.setTitle(「新しいフレームタイトル」)など
- 1. アクティビティ内の現在アクティブなすべてのフラグメントの参照を取得する方法はありますか?
- 2. sbtサブプロジェクトbuild.sbtファイルで現在のプロジェクトへの参照を取得する方法
- 3. 現在のオブジェクトへの参照を取得する
- 4. 現在のKeyboardFocusManagerへの参照を取得する
- 5. Swiftで現在のモジュールを参照する方法はありますか?
- 6. 現在再生中のビデオファイルの現在のフレームを取得する方法は?
- 7. カメラから現在のフレームを取得する方法(ビデオキャプチャデバイス)
- 8. GStreamer現在のフレーム数を取得する方法は?
- 9. 範囲オブジェクトから現在のノード参照を取得する方法
- 10. Android:AnimationDrawableで現在のフレームを取得する方法
- 11. プロパティへの参照がある場合、包含オブジェクトへの参照を取得する方法はありますか?次のように
- 12. アプリケーションの現在の状態を取得する方法はありますか?
- 13. ドメインサービスから、現在のURLを取得する方法はありますか?
- 14. タグの親への参照を取得する方法は?
- 15. JavaFXでは、コンポーネントの位置だけでコンポーネントへの参照を取得する方法はありますか?
- 16. 参照クラスを使用する代わりに、現在のクラスをエイリアスする方法はありますか?
- 17. カスタムテーブルビューからテーブルビューコントローラへの参照を取得する方法セルクラス
- 18. 現在のiframeの本体参照をJavaScriptで取得する
- 19. Symfony2で現在のポート番号を持つ現在のURLを取得する方法はありますか?
- 20. OCamlの現在のモジュールへの参照
- 21. ストーリーボードのUIViewControllerのメインビューへの参照を取得する方法
- 22. Javaでメソッド参照を渡す方法はありますか?
- 23. ViewModelへの参照がある場合、Viewを取得する方法は?
- 24. 抽象Javaクラス内のサブクラスへの参照を取得する方法
- 25. SwiftのAppDelegateから現在のSKSceneを参照する方法
- 26. セルの現在の値を新しい値の計算で参照する方法はありますか?
- 27. エンティティの親コンテキストへの参照を取得する方法
- 28. Magentoのモデルオブジェクトインスタンスへの参照を取得する方法
- 29. テンプレート内の要素への参照を取得する方法
- 30. Angular2:子コンポーネントのViewChildへの参照を取得する方法
ありがとうございます。これはうまくいった。私はコンテナをキャストし、setVisible(false)とdispose()を呼び出し、それがうまくいった。 – LOD121