java设置网格布局面板大小设置_Java Swing GridBagLayout面板调整大小问题

本文描述了在Java Swing中使用GridBagLayout时遇到的问题,即通过Universal Tween Engine调整一个JPanel大小后,其内部GridBagLayout单元格大小未能相应更新,导致其他组件显示异常。作者分享了代码示例,寻求解决方案。
摘要由CSDN通过智能技术生成

我正在为一个亲戚制作一个简单的小摆动应用程序,但是我在实现它的动画时遇到了麻烦……

这是我的布局的描述:

我有一个主窗口(通过实例化,打包和显示JFrame创建).

我告诉主窗口的内容面板使用GridBagLayout作为其布局.

我的网格宽2格,高3格.在第一列中,我有三个JButton(A,B和C),每个JButtons占据一行垂直网格空间,一列水平网格空间.在第二列中,我有另一个JPanel,它是一列宽,三行高.

第二个JPanel也设置为使用GridBagLayout作为其布局.在这种情况下,有两列,一行.左列有一个宽的宽,一行高的JPanel,里面有Button 1.右列只包含一个JButton(按钮2),它也是一列宽,一行高.

这是我刚才描述的截图:

现在您了解了布局是什么,让我解释一下我一直在尝试做什么:

我一直在尝试使用Universal Tween Engine来调整包含Button 1的Jpanel.但是,在我的尝试中,我得到了这个结果:

您可能已经看到,包含Button 1的JPanel已成功调整大小!但是,按钮2的大小和位置根本没有变化,事实上,按钮2被包含按钮1的JPanel切断了!

这是一个问题,因为我希望调整包含Button 1的JPanel的大小,以同时更改其包含的GridBagLayout的单元格大小.看来,我在这件事上非常错误.

所以这让我想到了我的问题……我需要做什么才能“更新”我的GridBagLayout,以便调整其网格大小以适应包含Button 1的Jpanel的大小增加?我试过在我的GridBaglayout上调用GridBagLayout.invalidatelayout(),我也试过在我的主窗口上调用JFrame.getContentPane().invalidate().似乎都没有任何影响.

这是我的项目的可编译源代码:</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值