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

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; 

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

然而 (编辑),酒吧确实移动,但图像保持不变….任何人都可以看到一个错误? 感谢您对此的任何意见/谢谢!

因为您要替换标签,所以需要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); } }