作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图在用户更改属性表( View )时拦截事件。
我尝试将 PropertyChangeListeners
和 NodeListeners
添加到节点,当节点更改时,它们都不会触发事件。另外,我尝试将 PropertyChangeListener
添加到 PropertySheetView
本身,但没有骰子。
我缺少什么想法吗?
最佳答案
您需要将 PropertyChangeSupport
添加到您的模型中(无论您的节点正在包装什么对象)。
private PropertyChangeSupport support = new PropertyChangeSupport(this);
// add interested listeners here
public void addPropertyChangeListener(PropertyChangeListener listener) {
support.addPropertyChangeListener(listener);
}
// don't forget to remove them
public void removePropertyChangeListener(PropertyChangeListener listener) {
support.addPropertyChangeListener(listener);
}
然后,当您通过 UI 更改模型的值时,您可以在属性的 setter 中触发属性更改:
public void setMyValue(String myValue) {
String oldValue = this.myValue;
this.myValue = myValue;
support.firePropertyChange("myValue", oldValue, this.myValue);
}
请参阅NetBeans Nodes API教程以了解更多详细信息。此外,如果您在 NetBeans Platform Users 中询问有关 NetBeans 平台的问题,您可能会有更好的运气和更快的答复。论坛。
关于java - NetBeans 平台 - 监听 PropertySheetView 中 BeanNode<T> 的更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8092389/
我试图在用户更改属性表( View )时拦截事件。 我尝试将 PropertyChangeListeners 和 NodeListeners 添加到节点,当节点更改时,它们都不会触发事件。另外,我尝试
我是一名优秀的程序员,十分优秀!