问题标签 [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.

0 投票
1 回答
864 浏览

java - 检测 JPanel 大小的变化源

我有一个名为 TablePanel 的类,它是 JPanel 的后代。当我单击框架另一部分中的复选框时,此类的一个实例有时会自行调整大小。

是否有某种事件侦听器或其他东西,以便我可以追踪实际导致此 TablePanel 调整大小的事件?

我尝试将以下内容添加到 TablePanel 的构造函数中:

但是当调整大小发生时,这不是“触发”。

0 投票
4 回答
2785 浏览

java - PropertyChangeSupport for SpinnerNumberModel

I want to listen to the changes of the value of the SpinnerNumberModel for a JSpinner.
I create a PropertyChangeSupport and put the model into it.

I need the propertyChangeListener, because it shows me the old and new value of the property.

The snippet doesn't work: the propertyChange method prints nothing, when I click on the JSpinner.
A simple ChangeListener give only the new value, but I need also the old value, how can I get it?

0 投票
2 回答
2455 浏览

java - Netbeans 绑定字段未更新 GUI

我已经设置了一个带有绑定到 bean 属性的文本字段的 Netbeans 表单。绑定应该是双向的,但只能单向工作。更新 GUI 中的字段会更新 bean,但如果更新了 bean,则 GUI 不会更新。

Netbeans 为每个属性生成的代码如下所示:

我的 bean 添加了属性更改支持:

在我拥有的属性的设置中:

当我更新底层 bean 时,bean 会更新,但文本字段不会(即使我已经验证了属性更改事件正在被触发。

0 投票
1 回答
831 浏览

java - PropertyChangeSupport 对 PropertyChangeListener 的弱引用?

Java 似乎没有提供对已注册PropertyChangeListeners的弱引用的PropertyChangeSupport实现。

实现这一点并不难,但在我重新发明轮子之前,有没有人知道这个功能是否已经在任何开源库中实现了?似乎并非如此,但有人可能更了解 SO。

0 投票
2 回答
309 浏览

java - 通知对象有关事件

我正在寻找一种有效的方法来在对关键对象进行更改后触发一组对象的更改。我想要做的是:有一个对象,如果发生更改,将在其他对象中执行一个方法。

我试图使用 PropertyChangeListener 来完成这个:

这种方法的问题在于,随着对象数量的增加,propertyChange() 方法将会消耗并且变得难以管理。此外,要添加新的 JComponent,我还必须修改 propertyChange()。

有没有办法通过让对象“寻找”关键对象中的更改并导致它们相应地采取行动而不是通过在关键对象的 PropertyChangeListener 中执行操作来对它们采取行动?或者也许其他巧妙的方法可以做到这一点?

0 投票
4 回答
702 浏览

java - 将 PropertyChangeListener 添加到多个 JComboBoxes

我有一个表,JComboBoxes并且想在PropertyChangeListener每个表中添加一个JComboBox,因为 ComboBoxes 的某些选择必须更改其他的可选择项JComboBoxes

我无法手动添加所有这些侦听器,因为它们太多了。

JComboBox我正在用一个数组初始化 ComboBoxes,所以当我创建这样的对象时,我已经尝试添加侦听器:

但它不起作用,因为字段变量i不是最终的,我需要这个变量。

如何将此变量存储在组合框中,或者是否有其他可能解决此问题?

0 投票
1 回答
7288 浏览

java - 更新子 JPanel 中的组件时如何触发父 JPanel 中的操作(Java Swing)

我正在尝试在 Java Swing 中构建一个 MVC 应用程序。我有一个包含四个 JComboBoxes 的 JPanel,并且这个 JPanel 嵌入到父 JPanel 中。除了子 JPanel 之外,父 JPanel 还具有其他控件。

每当我更改 JComboBoxes 的值时,子 JPanel 的模型都会正确更新(它基本上是一个日期选择器,每个组合框分别用于年、月、月中的某天和某天的某小时)。我无法弄清楚的是,每当更改 JComboBoxes 之一时,如何触发父 JPanel 的模型更新自身以匹配存储在子 JPanel 模型中的值。

下面是我迄今为止所拥有的结构的精简 SSCCE。谢谢你。

0 投票
1 回答
212 浏览

java - Java swing UI 实现,很可能涉及 PropertyChangeListener


我的用例如下——
我有一个对象列表(ArrayList),自定义数据对象。
现在我想将这些数据对象中的每一个显示或表示为一个包含 3 个按钮的框。所以我会有n盒子n在我的列表中有给定数据对象的

我希望这些“盒子”中的每一个都堆叠在JTable.

现在,每当将数据对象添加到上述列表中时,我都希望像前面提到的那样创建另一个 Box 并将其添加到 JTable 中。

我知道这可以使用 PropertyChangeListener 来完成,但我在网上浏览了一些关于 PropertyChangeListener 的文章,但无法得到一个明确的可实施的想法。

我是构建 UI 的新手,对此的任何帮助将不胜感激。

0 投票
3 回答
2808 浏览

java - Java Swing - 编写一个将根据自定义数据对象的更改重新绘制自身的 Ui

首先要做的事情——我之前发布了一个问题我曾就我的代码为什么不起作用而寻求帮助,这个问题是根据我在那个问题中得到的建议采取的。

我的用例是这样的。

我正在编写一个MethodEditor模块,其中每个Method都由一个具有 2 个数据成员的自定义数据对象表示——

  1. 输入变量名称列表
  2. 字符串(此方法设置的结果变量的名称)。

这些Method对象是在填写一些数据后生成的JDialog
这些Method对象存储在一个容器中,该容器具有 1 个数据成员,List<Method> 该容器位于调用JPanel上述对象的控制器中。JDialog

从 UI 的角度来看,我想以MethodJbutton 的形式显示每个对象,单击该按钮JDialog将打开并允许用户对其进行编辑。

MethodEditor作用于 List 并生成 JButtons 的垂直排列,每个in Method1个List<Method>。这List<Method>MethodEditor从上述控制器传递给的JPane

我在我之前的问题中实现了MethodEditora ,它会在每次发生事件时JPanel添加 a并且本身会自动发生,但我的方法不起作用,重绘不会发生。PropertyChangeListenerList<Method>repaintPropertyChange

是否有另一种方法来实现我的用例,或者我可以对前面问题中发布的代码进行任何修复 ?

0 投票
3 回答
3052 浏览

java - 自定义对象属性更改时更新 JLabel

我有一个 Java 类,我希望它的一个属性由 Swing 桌面应用程序中的 JLabel 显示:

每当项目的数量属性发生变化时,如何让标签更新其文本?