2016-11-02 6 views
0

私は、画像を開き、画像に合わせてウィンドウを拡大し、ウィンドウが削除されたときにウィンドウのスケールを元に戻す必要があるプロジェクトに取り組んでいます。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()); 

このコードでは、ウィンドウのサイズが正しく調整されますが、イメージを別のものとして使用した後にイメージを変更すると、ウィンドウは同じサイズのままです。

ご協力いただければ幸いです。

答えて

3

setMinimumSize()メソッドは必要ありません。レイアウトマネージャにその仕事をさせてください。

フレームのサイズを変更するには、frame.pack()を実行してください。

関連する問題