我有一个菜单栏类(MenuBarGUI),我把它放在所有其他类中,我需要知道是否可以通过菜单中的选项关闭当前包含的JFrame。通常我可以调用setVisible(false)然后dispose(),但因为菜单栏没有对当前帧的引用,所以我不能这样做。有没有办法做到这一点?有什么办法可以获得对Java中当前框架的引用吗?
4
A
回答
4
如果您MenuBarGUI类JMenuBar的扩展,你可以使用getTopLevelAncestor方法获取菜单栏的窗口。
1
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());
}
0
上述方法都不适用于我。
因为我只需要一个小组的直接母公司,直接访问他们通过超级呼叫:super.setTitle(“新帧标题”)等
相关问题
- 1. 有没有什么办法可以获得Google Apps中的Android对话框?
- 2. 有没有什么办法可以获得“当前函数”的返回类型
- 3. 有什么办法可以获得c函数的大小吗?
- 4. 有没有什么办法可以在Swift中引用当前模块?
- 5. 有什么办法可以在c#中调用对象的引用吗?
- 6. 有什么办法获得当前的截图?
- 7. 有什么办法可以检测Java中的RTL语言吗?
- 8. 有什么办法可以在UILabel中获得NSRange的CGRects?
- 9. 有什么办法可以这样吗?
- 10. 有什么办法可以获得当前登录到C#.NET中的Quickbooks的所有用户列表?
- 11. 有什么办法可以得到Flare3D的截图吗?
- 12. 有什么办法可以入侵Swift Project的静态框架吗?
- 13. 有什么办法可以获得iPhone应用程序记录
- 14. 有什么办法可以获得java中每个csv列的数据类型?
- 15. 有什么办法可以向RVM询问当前的Ruby路径吗?
- 16. 有什么办法可以用cURL来获得这种行为吗?
- 17. jquery ajax - 有什么办法可以得到部分响应吗?
- 18. 有什么办法可以对我的listview进行排序吗?
- 19. Sailjs /水线 - 有什么办法可以获得先前提取的物体?
- 20. 有什么办法可以获得项目的依赖关系图吗?
- 21. 有什么办法可以获得tkinter菜单按钮的信息吗?
- 22. 有什么方法可以从前一课中获得价值?
- 23. 有什么办法可以改变apprequests对话框的高度吗?
- 24. 有什么办法可以全局获取脚本文件吗?
- 25. 有什么办法可以将MouseListener添加到Graphic对象吗?
- 26. 有什么办法可以在Bigtable/Cassandra DB中使用Symfony PHP框架?
- 27. 有什么办法可以从iPad上获得网页录制声音吗?
- 28. 有什么办法可以在sql中使用函数吗?
- 29. 有什么办法可以在random.randint中使用raw_input变量吗?
- 30. 有没有什么办法可以用zend框架绘制图形
我究竟怎样才能实现的getParent()方法?我不确定把一个容器放到一个窗口有多安全(这看起来很不安全)。另外,我怎么能实现另一种方法? – LOD121 2011-02-01 23:00:32
我增加了一个例子,但是如果你要走这条路线,Gursel建议getTopLevelAncestor会更合适。 – jzd 2011-02-01 23:19:42