私は、画像を開き、画像に合わせてウィンドウを拡大し、ウィンドウが削除されたときにウィンドウのスケールを元に戻す必要があるプロジェクトに取り組んでいます。Java Swing - コンテナが削除されたときにウィンドウを縮小する
私は自分のWindowをBorderLayoutコンテナに分割し、次にFlowLayoutコンテナを保持します。このコンテナは、最終的に私のJLabelをアイコンで自分の望むイメージに保持します。いくつかの他の容器がありますが、それらは重要ではありません。
私は、.packを使用してウィンドウのサイズを変更してから、setMiniumSizeを使用してサイズを設定するパックに設定します。
問題は私がラベルからイメージを正しく削除していないと思いますので、パックを再度呼び出すとウィンドウが同じサイズのままです。
label.setIcon(null);
if (theImage != null) {
myRawImage = theImage;
label.setIcon(new ImageIcon(myRawImage));
}
myWindow.pack();
myWindow.setMinimumSize(myWindow.getSize());
このコードでは、ウィンドウのサイズが正しく調整されますが、イメージを別のものとして使用した後にイメージを変更すると、ウィンドウは同じサイズのままです。
ご協力いただければ幸いです。