Java 在Swing中使用哪个面板

Java 在Swing中使用哪个面板,java,swing,layout,jtable,jpanel,Java,Swing,Layout,Jtable,Jpanel,我希望在一个面板中有一个JTable组件,以占据窗口允许的最大空间。然而,在下面,我想添加另一个固定大小的面板,面板上有几个按钮。要使用哪种布局来允许底部面板具有固定尺寸,同时允许JTable面板根据窗口大小进行拉伸 实现它的最简单方法是使用BorderLayout。把你的桌子放在中间。然后用FlowLayout创建另一个面板,并将其放置在主面板的南部。实现它的最简单方法是使用BorderLayout。把你的桌子放在中间。然后用FlowLayout创建另一个面板,并将其放在主面板的南部。很难准确

我希望在一个面板中有一个JTable组件,以占据窗口允许的最大空间。然而,在下面,我想添加另一个固定大小的面板,面板上有几个按钮。要使用哪种布局来允许底部面板具有固定尺寸,同时允许JTable面板根据窗口大小进行拉伸

实现它的最简单方法是使用
BorderLayout
。把你的桌子放在中间。然后用
FlowLayout
创建另一个面板,并将其放置在主面板的南部。

实现它的最简单方法是使用
BorderLayout
。把你的桌子放在中间。然后用
FlowLayout
创建另一个面板,并将其放在主面板的南部。

很难准确地想象您想要什么,但下面是Oracle的一段摘录,可能会对您有所帮助:

场景:您需要在尽可能多的空间中显示组件

如果它是其容器中的唯一组件,请使用GridLayout或BorderLayout。否则,BorderLayout或GridBagLayout可能是一个不错的选择 匹配

如果使用BorderLayout,则需要将空间放在最前面 组件位于中心。使用GridBagLayout,您需要设置 组件的约束,使fill=gridbagsconstraints.BOTH。 另一种可能是使用BoxLayout,这使得空间非常紧张 组件指定非常大的首选和最大尺寸

场景:您需要在一个紧凑的行中以其自然大小显示一些组件

考虑使用JPanel对组件进行分组,并使用JPanel的默认FlowLayout管理器或BoxLayout管理器。 SpringLayout也适用于此

场景:您需要在行和列中显示几个大小相同的组件

GridLayout非常适合这样做

场景:您需要在一行或一列中显示几个组件,它们之间可能有不同的空间大小、自定义对齐方式或自定义组件大小

BoxLayout非常适合这种情况

场景:您需要显示对齐的列,如在类似表单的界面中,一列标签用于描述相邻列中的文本字段

SpringLayout是这方面的自然选择。几个教程示例使用的SpringUtilities类定义了makeCompactGrid 方法,使您可以轻松地对齐 组成部分

场景:您有一个包含许多组件的复杂布局

考虑使用非常灵活的布局管理器,例如 GridBagLayout或SpringLayout,或将组件分组为一个或多个 更多JPanel以简化布局。如果采用后一种方法,则每个 JPanel可能使用不同的布局管理器


来源:

很难准确地想象你想要什么,但这里有一段来自Oracle的摘录,可能会对你有所帮助:

场景:您需要在尽可能多的空间中显示组件

如果它是其容器中的唯一组件,请使用GridLayout或BorderLayout。否则,BorderLayout或GridBagLayout可能是一个不错的选择 匹配

如果使用BorderLayout,则需要将空间放在最前面 组件位于中心。使用GridBagLayout,您需要设置 组件的约束,使fill=gridbagsconstraints.BOTH。 另一种可能是使用BoxLayout,这使得空间非常紧张 组件指定非常大的首选和最大尺寸

场景:您需要在一个紧凑的行中以其自然大小显示一些组件

考虑使用JPanel对组件进行分组,并使用JPanel的默认FlowLayout管理器或BoxLayout管理器。 SpringLayout也适用于此

场景:您需要在行和列中显示几个大小相同的组件

GridLayout非常适合这样做

场景:您需要在一行或一列中显示几个组件,它们之间可能有不同的空间大小、自定义对齐方式或自定义组件大小

BoxLayout非常适合这种情况

场景:您需要显示对齐的列,如在类似表单的界面中,一列标签用于描述相邻列中的文本字段

SpringLayout是这方面的自然选择。几个教程示例使用的SpringUtilities类定义了makeCompactGrid 方法,使您可以轻松地对齐 组成部分

场景:您有一个包含许多组件的复杂布局

考虑使用非常灵活的布局管理器,例如 GridBagLayout或SpringLayout,或将组件分组为一个或多个 更多JPanel以简化布局。如果采用后一种方法,则每个 JPanel可能使用不同的布局管理器


来源:

将表格对齐在按钮顶部,但如果我想调整窗口大小,表格会在某个点停止调整大小,但会占用窗口的固定药水。它被包裹在滚动窗格中。对不起,我的坏消息。是用北而不是中心。为什么会有不同?在这两种情况下,我都会告诉表格填充视口……视口将表格对齐在按钮顶部,但如果我想调整窗口大小,表格会在某个点停止调整大小,但会占用固定的窗口空间。它被包裹在滚动窗格中。对不起,我的坏消息。是用北而不是中心。为什么会有不同?在这两种情况下,我都告诉表填充视口。。。