我正在创建一个游戏,我的JFrame中有一个JPanel,我希望我的面板保持恒定的大小比例:1.3x1(尽可能大)。我在框架上有一个组件监听器,当调整框架大小时,它会使用setPreferredSize
重置面板的大小,问题是每次更改框架大小时,面板都会调整为{{1 - 意味着框架总是很小。框架也有Dimension(10, 10)
设置,因为我希望面板位于中间。此外 - 有时如果您快速调整框架大小(快速绘制角落),框架将以正确的大小显示一瞬间,然后返回GridBagLayout
。
调整组件侦听器中的代码:
10, 10
* 游戏是我的jpanel,GameFrame是我的JFrame,Game.frameSize和GameFrame.frameSize仅用于调整屏幕上的精灵
配置JFrame和JPanel
Game.frameSize.x = (int) Math.round((GameFrame.frameSize.y - 2) * 1.2);
Game.frameSize.y = GameFrame.frameSize.y - 2;
this.panel.setPreferredSize(new Dimension(Game.frameSize.x, Game.frameSize.y));
我真的不知道该怎么做,就谷歌而言,没有人遇到过这个问题。谢谢,任何帮助表示赞赏:)