2016-11-02 2 views
0

, поэтому я работаю над проектом, который требует от меня открытия изображений, масштабирования окна в соответствии с изображением и уменьшения окна при удалении окна.Java Swing - масштабирование окна при удалении контейнеров

У меня есть окно, разбитое в контейнер BorderLayout, в котором затем хранится контейнер FlowLayout, который, наконец, удерживает мой JLabel с установленным значком на нужное изображение. Есть и другие контейнеры, но они не должны иметь значения.

Я использую .pack для изменения размера окна, а затем setMiniumSize для любого пакета, который устанавливает размер.

Проблема: я не думаю, что правильно удаляю изображение из метки, поэтому, когда я снова вызываю пакет, окно остается того же размера.

label.setIcon(null); 

    if (theImage != null) { 
     myRawImage = theImage; 
     label.setIcon(new ImageIcon(myRawImage)); 
    } 

    myWindow.pack(); 
    myWindow.setMinimumSize(myWindow.getSize()); 

Этот код правильно масштабирует окно вверх, но если я изменить theImage пустое значение после того, как что-то другое окно остается один и тот же размер.

Любая помощь была бы принята с благодарностью.

ответ

3

Нет необходимости в методе setMinimumSize(). Пусть менеджер компоновки выполнит свою работу.

Просто сделайте frame.pack(), чтобы изменить размер рамки.

Смежные вопросы