图像无法更新其他组件(MVC)

时间:2011-03-31 02:38:07

标签: java model-view-controller swing

import java.awt.event.ActionListener;
import java.util.*;
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.ActionEvent;
import java.awt.event.AdjustmentListener;
import java.awt.event.AdjustmentEvent;

我还有其他几个框架(其中两个框架正在打孔,另一个框架也是滚动条)。我可以使用其他组件来更新此视图(这基本上显示了基于温标的一盒图像)。同样,我可以从此视图更新其他组件。

然而 (已编辑),条形图确实会移动,但图像保持不变.... 谁能看到一个bug?感谢您对此的任何意见/谢谢!

1 个答案:

答案 0 :(得分:2)

由于您要更换标签,因此需要remove()组件和validate() Container。或者,只需替换图标。

附录:我认为后一种方法更可取。缺少图片和剩余代码,让我们从这个example开始:初始化标签和滑块:

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);
    }
}