私は持っJFrame
ていGridBagLayout
ます。ユーザーはこのウィンドウのサイズを変更できます。また、ウィンドウ サイズを変更する編集操作を実行することもできます。私はpack(); repaint();
そのような行動の後に今使っています。しかし、実際には、そのような操作の後でウィンドウを小さくするべきではありません。大きくするだけです。解決策として私が見つけたのは
Dimension oldSize = getSize();
pack();
Dimension newSize = window.getSize();
setSize(
(int) Math.max(newSize.getWidth(), oldSize.getWidth()),
(int) Math.max(newSize.getHeight(), oldSize.getHeight()));
repaint();
しかし、私はこの解決策がまったく好きではありません。醜いコードのほかに、サイズを 2 回設定します (1 回はパックで、もう 1 回は直接ではありません)。他の解決策はありますか?