如何使 Borderlayout 的 .CENTER 中的组件占据所有中心空间并随应用程序调整大小?
我的应用程序/JFrame 使用 Borderlayout,在顶部或北部有一个工具栏,在底部或南部有一个状态栏,在中心有一个 JPanel.JTabbedPane.JScrollPane.JTable 。 JPanel 始终是固定大小,可以使用以各种组合应用于各种组件的各种 set*Size() 方法进行粗略调整。但它的大小总是固定的,并且总是有东西向的间隙。南北组件保持固定高度并按照预期水平调整大小。
当然,这不是一个新的或独特的设计。
这是正常行为吗? 我错过了什么技巧吗?
My app/JFrame, using Borderlayout, has a toolbar at the top or north, a statusbar at the bottom or south and a JPanel.JTabbedPane.JScrollPane.JTable in the center. The JPanel is always a fixed size which is roughly adjustable using the various set*Size() methods applied in various combinations to the various components. But it's always a fixed size and always has east and west gaps. The north and south components stay fixed height and resize horizontally as one would expect.
Surely this is not a new or unique design.
Is this normal behaviour?
Is there some trick I've missed?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这是保留
JPanel
的默认FlowLayout
并将面板添加到BorderLayout
中心的特点。下面的示例比较了具有默认的FlowLayout
或GridLayout
的面板。作为对比,两者被添加到一个 GridLayout 中,它允许以类似于 BorderLayout 中心的方式进行扩展。This is characteristic of retaining the default
FlowLayout
ofJPanel
and adding the panel to the center of aBorderLayout
. The example below compares panels havingFlowLayout
, the default, orGridLayout
. For contrast, the two are added to aGridLayout
, which allows expansion in a manner similar to that ofBorderLayout
center.