Поскольку вы заменяете метку, вам нужно remove()
компонент и validate()
Container
.В качестве альтернативы просто замените значок.
Добавление: я думаю, что последний подход предпочтительнее.Не имея ваших изображений и оставшегося кода, давайте начнем с этого примера : инициализируем метку и ползунок:
final JLabel label = new JLabel(pig);
final JSlider slider = new JSlider();
Затем в слушателе используйте setIcon()
:
@Override
public void stateChanged(ChangeEvent e) {
if (slider.getValue() < 50) {
label.setIcon(pig);
} else {
label.setIcon(dog);
}
}