JAVAswing如何让按钮和标签随着窗口的放大而放大,排版保持不变?

使用gridbaglayout布局。

使用此布局在JPanel中存储按钮和标签组件。

布局有点繁琐。不明白的请留言。

下面是对gridbaglayout布局参数的描述。你可以用它。

gridx——组件左边缘和网格左边部分之间的距离。默认值是相对值。

gridy-组件的上边缘和网格顶部之间的距离。默认值是相对值。

网格宽度-组件的水平宽度,默认值为1。

网格高度-组件的垂直高度;默认值是1。

ipadx-组件之间的水平间距。组件的宽度是该组件的最小宽度加上ipadx值。默认值为0。

ipady-组件之间的垂直间距。组件的高度是该组件的最小高度加上ipady值。默认值为0。

Weightx——当窗口变大时,各个分量的比例沿水平方向变大。默认值为0。

权重——当窗口变大时,各个分量的比例沿垂直方向变大。默认值为0。

填充-组件小于显示区域,可用于控制组件的行为。控制组件是垂直填充、水平填充还是双向填充。默认值为无。

插入-指组件和显示区域(顶部、左侧、底部和右侧)周围空白区域的大小。默认值为newInsets (0,0,0)。

anchor——组件比显示区域小,这告诉布局管理器组件在表空间中的位置。默认值为

居中.

修改gridwidth和gridheight后,一定要记得相应地修改fill属性,否则组件显示的大小仍然是原来的大小。

gridx和gridy的可能值

RELATIVE将放置在前一个组件的右侧或下方。

gridwidth和gridheight的可能值。

RELATIVE将该组件指定为其行或列中的倒数第二个组件。

由REMAINDER创建的组件将从创建的起点扩展到容器允许的极限。

可能的填充值

无:不调整组件的大小。

水平:加宽组件,使其水平填充显示区域,但不改变高度。VERTICAL:升高组件,使其垂直填充显示区域,但不改变宽度。BOTH:使组件完全填充其显示区域。