【发布时间】:2016-06-01 06:32:00
【问题描述】:
我是 Java 新手。我有其他编程语言的编程经验,尤其是 PowerBuilder。我正在编写一个包含许多表单和报告的 Java 应用程序。我希望为所有表单和报告(我的应用程序上的任何窗口)提供一个通用菜单。
我想我可以创建一个带有菜单的基本主机,并在该主机内打开任何其他窗口。我想不通,只有内部框架,但这不是我想要的。
我创建了JMenuBar,我把它放在JPanel 上,然后我把面板放在最大化的JFrame 上,我打电话给mainframe。菜单栏中的任何窗口都在mainframe 框架前打开。当我点击mainframe 时,任何打开的窗口当然会返回,焦点是mainframe。
我为面板写了一个MouseListener,它会带来任何打开的窗口toFront,当然mainframe 除外。这似乎完成了这项工作,但我必须为菜单栏编写相同的侦听器,这具有窗口“闪烁”的缺点,只要它们出现在前面。
我的问题是:
- 您使用菜单栏的方式是什么?
- 我必须将菜单栏放到我创建的任何表单中吗?
- 我怎样才能拥有一个主框架(可能已最大化),其上的菜单栏始终位于背面,并且任何其他窗口都在此框架前面打开?
我真正需要的是一个带有我的应用程序菜单的主框架,一切都发生在这个框架内。
【问题讨论】:
-
我猜这里的代码会比文字更好。
-
根据我的阅读,您将
JMenu添加到JPanel,但它应该添加到JFrame -
“只有内部框架,但这不是我想要的。” 为什么不使用
JDesktopPane&JInternallFrames?