0

为什么JMenuBar没有放在内容窗格中?制作java gui程序特别是使用jframe时是否有任何原因或影响?谢谢

4

1 回答 1

3

使用顶级容器一文中所述,菜单栏由根窗格管理:

每个顶级容器都依赖于一个隐蔽的中间容器,称为根窗格。根窗格管理内容窗格和菜单栏,以及其他几个容器。您通常不需要了解根窗格即可使用 Swing 组件。但是,如果您需要拦截鼠标单击或在多个组件上绘制,您应该熟悉根窗格。

在此处输入图像描述

菜单栏通常放置在窗口的顶部,因此如果将其放置在内容窗格中,那么布局管理器将不得不处理这个特定的组件。通过将菜单栏与内容窗格分离,布局菜单栏和其余组件的责任得到了很好的划分。此外,菜单栏位置是固定的,并且该组件不可拖动,因此可以以与其他组件不同的方式进行布局。

关于JToolBar,这个组件是可拖动的,您可能有几个,将一个放在另一个之上,并根据需要重新排列它们的顺序。所以这个组件与菜单栏完全不同,它可以像文本字段或其他常规组件一样放置在内容窗格中。

建议阅读:

于 2014-02-09T15:32:55.733 回答