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;
我还有其他几个框架(两个只是输入数字,另一个也是滚动条)。我可以使用其他组件来更新此 View (这基本上显示基于温标的图像框)。同样,我可以从此 View 更新其他组件。
但是(已编辑),条形图确实移动了,但图像保持不变...... 任何人都可以看到错误吗?我感谢任何对此的投入/谢谢!
最佳答案
由于您要替换标签,因此需要 remove()
组件和 validate()
Container
。或者,只需替换图标即可。
附录:我认为后一种方法更好。由于缺少图像和剩余代码,让我们从这个 example 开始:初始化标签和 slider :
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);
}
}
关于java - 镜像无法更新其他组件(MVC),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5494766/