我有与GridBagLayout的JFrame.用户可以调整此窗口的大小.此外,他还可以执行一些更改窗口大小的编辑操作.我用pack();重绘();现在经过这样的行动.但是,实际上我不应该在这样的操作之后使窗口更小 – 只是更大.我发现的解决方案是
Dimension oldSize = getSize(); pack(); Dimension newSize = window.getSize(); setSize( (int) Math.max(newSize.getWidth(),oldSize.getWidth()),(int) Math.max(newSize.getHeight(),oldSize.getHeight())); repaint();