为什么JMenuBar不在内容窗格中?在制作java gui程序时是否有任何原因或影响,特别是在使用jframe时? 感谢
答案 0 :(得分:3)
如Using Top-Level Containers文章所述,制作栏由根窗格管理:
每个顶级容器都依赖于一个隐藏的中间容器 称为根窗格。根窗格管理内容窗格和 菜单栏,以及其他几个容器。你通常不会 需要了解根窗格才能使用Swing组件。但是,如果你 需要拦截鼠标点击或绘制多个组件, 你应该熟悉根窗格。
菜单栏位于窗口顶部,因此如果将其放置在内容窗格中,则Layout managers必须处理此特定组件。通过将菜单栏与内容窗格分开,则布局菜单栏和其余组件的责任分工均匀。此外,菜单栏位置是固定的,此组件不可拖动,因此可以采用与其他组件不同的方式进行布局。
关于JToolBar此组件是可拖动的,您可能有几个组件,将一个放在另一个组件上,然后根据需要重新排列顺序。所以这个组件与菜单栏完全不同,因此它可以像文本字段或其他常规组件一样放在内容窗格中。
建议读物: