问题标签 [propertychangelistener]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 从另一个类调用时,Java PropertyChangeListener 不起作用
我有一个类 PanouAddContoriMetro
打电话时工作PanouAddContoriMetro class : jtfSeria.setText("Test");
但是当我从另一个更改属性时不起作用
class (PanouExpAutorizatii) : pacm.jtfSeria.setText("Test");
java - Java FX - 事件处理的不同方面
我试图了解 Java FX 中事件处理的不同方面。我已经阅读了 Oracle 材料,但我仍然有点困惑,想知道是否有人可以简洁地解释一些可用的不同选项的差异和关键用途。
首先,据我所见,有事件处理程序和事件过滤器,然后有便利方法。那么处理程序和过滤器之间的主要区别是什么,以及为什么我会使用一个而不是另一个。此外,使用 addEventHandler(...) 添加事件处理程序而不是使用便捷方法有什么好处?根据我自己的测试,我相信使用 addEventHandler(...) 可以将多个事件处理程序附加到给定控件,而使用 setOnEvent-type(...) 只允许附加一个事件处理程序,因为它每次都会覆盖属性它已设置。还有其他区别吗?
然后是 ChangeListener 和 InvalidationListener 的主题 - 我认为 ChangeListener 是一种事件处理程序是正确的吗,它专门用于侦听(属性的)更改事件?除了 JavaFX Properties and Binding 上的 Oracle 页面之外,我似乎找不到很多使用 ChangeListener 的例子——有人知道一个好的指南吗?此外,简单来说,我什么时候可以在 ChangeListener 和 InvalidationListener 之间进行选择?
最后,有时是否可以通过传统的 EventHandler 或 ChangeListener 模拟相同的事件处理过程 - 例如,可以使用 ActionEvent 处理按钮单击 - 有没有办法通过 ChangeListener 来做到这一点?我可以看到理论上您可以向 onActionProperty 添加更改侦听器,但我认为单击按钮时不会调用它,而是如果 setOnAction 实际上更改了附加的事件处理程序?
c# - c# 关于嵌套属性更改跟踪
我有一个带有单个参数的通用类,它代表第三方 DLL 的元素,用于序列化 T 类对象。我想做的是在我的类中添加一个“脏”映射,并在我的元素的嵌套属性之一发生更改时懒惰地触发它。
是否可以在访问属性时捕获请求并确定正在更改的属性?如果正在执行 SET,我可以记录子属性 P 现在是脏的并且需要保存?或者至少有一个位表明某事发生了变化?
'Base' 的一个高级示例。您可以看到我需要如何递归我的操作,因为并非所有内容都是原始的。我有一个记录所有这些 ResourceSerializer 对象的经理级别的类。
和一个小班,我稍后会变成一个测试方法..
java - 如何从 PropertyChangeEvent 更改新值
我在 Eclipse (IDE) 中有一个首选项页面,每次用户从属性更改值并单击确定时,这些值都会保存在首选项文件中。我正在使用侦听器来获取新值。但我需要做的是获取这个新值 -> 处理 -> 并将这个新值保存并存储在首选项文件中。我的实现是这样的:
c# - 如何覆盖 WPF ItemsControl 中预定义的依赖属性 ItemsSource 的 PropertyChangedCallback
如何覆盖 WPF 中PropertyChangedCallback
预定义的依赖属性。ItemsSource
ItemsControl
我开发了一个继承自ItemsControl
. 我使用了预定义的 Dependency Property ItemsSource
。Collection
因为一旦更新,我需要监控和检查数据。
我在谷歌搜索了很多,但我找不到任何相关的解决方案来满足我的要求。
请帮助我,覆盖的方法名称是什么?...
java - 属性更改监听器 Java
我目前正在学习使用 PropertyChangeListener 和 PropertyChangeSupport 类。我有点卡在侦听器接收事件的部分,所以我需要这部分的帮助。
在我的程序中有 2 个类:
- 一、控制器,实现PropertyChangeListener
- 另一个,模型,实现了 propertyChangegSupport
控制器:
模型:
问题是代码永远不会到达 propertyChange 函数(“Resultado”永远不会打印在屏幕上)。
先感谢您。
java - 从 ObjectProperty 更新事件(就像在 ObservableList 中一样)
如果其中一个元素更改了其属性之一(更新事件),我可以使用提取器 ( Callback<E, Observable[]> extractor
) 来生成火灾更改事件。ListProperty
是否有等价物ObjectProperty<>
?我有一个SimpleObjectProperty
我想在它的值(另一种 bean 类型)的属性更改(更新更改事件)时触发事件。
示例代码:
如果值发生更改,我想接收更改事件SomeType#property
,而且,如果SomeType#property#testProperty
发生更改。
我不能只听SomeType#property#testProperty
,因为我不会在SomeType#property
更改时收到通知(然后我会在错误的对象上听更改)。
java - JCalendar 和 IDateEvaluator 和 PropertyChangeListener
我正在尝试使用 IDateEvaluator 从 toedter 在 JCalendar 上绘制一组特定日期,但是......在将 DateEvaluator 添加到 DayChooser 之后没有任何反应。在这里的一篇文章中,我注意到我需要将我的 JCalendar 日历设置为自身,以便它可以更新......但由于我在 monthChooser 和 YearChooser 上有一些 PropertyChangeListeners 并且这是调用着色函数的侦听器,我无法将其设置为自身因为它只是不断地循环激活它们。这是我的代码:
HighlightEvaluator 实现 IDateEvaluator 只是 List(Date) 并且如果它在列表中,isSpecial 函数为 true。其余功能是特殊时的颜色。希望可以有人帮帮我!
java - 添加元素时集合的属性更改事件的旧值
我有一个 Java bean,它有一个带有 getter 的集合属性,并且还为集合提供了添加方法。
因此,当使用该add
方法修改集合时,我必须触发一个PropertyChangeEvent
. APropertyChangeEvent
有一个旧值和一个新值。
您如何处理旧值?
为了方便起见,我将String
在这里使用 s 的集合。例如
获取旧值的一种方法可能是在添加之前创建一个副本
但在很多情况下,旧值可能会被白白复制。
所以另一个想法是不使用 add 方法,而是使用contains
before
这适用于Set
. 但是当names
集合是 anArrayList
时它将不起作用,因为 anArrayList
可以包含多个相等对象的实例。socontains
会返回 true,但 anadd
也会返回true
。
在多线程环境中,首先通过包含检查然后添加也可能是一个问题,因为同时另一个线程可能已经添加了相同的对象。但我不想在这里介绍这种复杂性。我只想为单线程环境找到一个好的设计,通常是在 UI 中使用此类 bean 时(Event-Dispatch-Thread)。
在这种情况下,您如何处理旧值?
java - firePropertyChange - oldValue 和 newValue 参数有什么关系?
我目前正在开发一个项目,其中当模型部分中的某些内容发生更改时,propertyChangeListener 用于更新程序的视图部分。该程序解决给定的数独难题并更新模型以包含解决方案。
我使用具有参数 oldValue 和 newValue 的 firePropertyChange 方法。我知道这些必须有所不同才能发生某些事情,但它们到底是什么真的重要吗?在我的程序中,模型总是在发生某些事情时更新,我从不使用包含在 oldValue 或 newValue 中的信息。
是否可以将它们作为“1”和“2”来确保它们总是不同的?这会导致任何其他问题。这是一个名为 clear 的方法,它将数独重置为空白板: