java - 镜像无法更新其他组件(MVC)

标签 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;

我还有其他几个框架(两个只是输入数字,另一个也是滚动条)。我可以使用其他组件来更新此 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/

相关文章:

java - 如何循环遍历列表映射以获取特定的开始日期?

java - 初始化后立即覆盖类

java - 在java中解析JSON(Eclipse)

model-view-controller - 为基于 nodejs 的 MVC 平台构建插件系统

java - Spring MVC 作为 Tomcat 6 中的 ROOT 应用程序

java - java中setFocusable的使用

java - 检测组件的FocusEvent是丢失还是获得

java - 如何标记中文文档

java - 使用 Spring 从 Mongo 检索任何对象的最佳方法是什么?

Java GUI Xmonad 不工作