gpt4 book ai didi

java - firePropertyChange - 参数 oldValue 和 newValue 是什么重要吗?

转载 作者:行者123 更新时间:2023-12-02 02:20:23 27 4
gpt4 key购买 nike

我目前正在开发一个项目,其中当模型部分中的某些内容发生更改时,使用 propertyChangeListener 来更新程序的 View 部分。该程序解决给定的数独难题并更新模型以包含解决方案。

我使用 firePropertyChange 方法,该方法具有参数 oldValue 和 newValue。我知道这些必须有所不同才能发生某些事情,但是它们是什么真的重要吗?在我的程序中,当发生某些情况时,模型总是会更新,并且我从不使用 oldValue 或 newValue 中包含的信息。

是否可以将它们分别设置为“1”和“2”以确保它们始终不同?这会导致任何其他问题吗?这是一个名为clear的方法,它将数独重置为空白板:

public void clear() {
String oldBoard = getBoard();
for (int i=0; i<9; i++) {
for (int k=0; k<9; k++)
plan[i][k] = 0;
}
pcs.firePropertyChange("clear", oldBoard, getBoard());
}

最佳答案

如果属性更改的接收者是您的内部类,并且它们知道忽略属性更改事件的旧/新值,那么它会起作用。您可能仍然需要清楚地记录这一事实,以防您在一段时间后自己忘记它。然而,为了使代码更易于维护和可读,编写自己的监听器接口(interface)将是更好的方法,尽管这需要更多的工作。

一个例子:

public interface SudokuListener {
void sudokuCleared();
}

关于java - firePropertyChange - 参数 oldValue 和 newValue 是什么重要吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48597720/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com