- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在实际更改属性之前触发 propertyChangeEvent 有哪些危险(如果有)?
目前我有很多代码,如下所示:
public void setConfidence (int newConfidence) {
int old = confidence;
confidence = newConfidence;
pcs.firePropertyChange("confidence", old, confidence);
}
在更改属性之前触发事件会更漂亮,并且避免复制:
public void setConfidence (int newConfidence) {
pcs.firePropertyChange("confidence", confidence, newConfidence);
confidence = newConfidence;
}
在单线程应用程序中,预触发事件有什么危险吗?还是有其他原因更喜欢在之后解雇?
最佳答案
在第二段代码中,您通知监听器状态已更改,但实际上状态并未更改,这既不好也不安全。如果监听器有自己的行为或状态更改(取决于通知时存在的新状态)怎么办?使用通知的主要规则之一是通知代码不需要了解监听代码对信息的作用,而您的第二位代码不满足这一点。坚持第一种方法。
关于java - 预触发 propertyChangeEvent 的危险,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50048058/
As described in another question ,我有一组模型对象和一组关联的面板对象,它们允许用户访问模型对象中的数据。面板被注册为模型的 PropertyChangeListen
我正在尝试创建一个 swing 表单,其中文本字段使用 bensbindings 框架连接到一个 bean。我已经在 Netbeans matisse 编辑器中设置了它。但是,更改 JTextFiel
在实际更改属性之前触发 propertyChangeEvent 有哪些危险(如果有)? 目前我有很多代码,如下所示: public void setConfidence (int newConfide
下面是我关于属性更改的代码。如果我使用这段代码,public void propertyChange(PropertyChangeEvent evt) 将被正确调用。 public void setW
如果我理解正确,当我直接从另一个线程修改 Swing 组件时,该操作应该放在 EDT 的事件队列中以防止与 GUI 的同步问题: public class SwingFrame extends JFr
我有一个 JSplitPane 的子类,它的目的是允许分隔线从右边缘或下边缘(而不是左边缘或上边缘)固定位置。 为此,我使用 ComponentChangeListener 来捕获组件大小的调整,并重
我对 Java Swing 开发还很陌生,在 GUI 中使用 PropertyChangeListener 时发现有些困难。 所以我有一个实现 PropertyChangeListener 接口(in
我是一名优秀的程序员,十分优秀!