问题标签 [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 投票
0 回答
914 浏览

java - 为什么这个 PropertyChangeListener 不起作用?

我正在为我的开源库droidQuery添加对属性观察的支持,但是propertyChange在我的测试中没有调用该方法。我需要做什么才能使其正常工作?这是我的代码:

ViewObserver.java

droidQuery.java 的相关部分(其余部分可在 github 上找到):

0 投票
0 回答
1013 浏览

java - 只听用户更改 JSplitPane 分隔线位置?

我正在尝试实现一个将其状态保存到某个配置文件的 JSplitPane,所以我添加了一个像这样的侦听器:

它可以很好地处理它,但是由于某种原因,有时 Swing 代码本身会更改此属性并更改分隔符位置,关于如何克服这个问题的任何建议?

0 投票
1 回答
1401 浏览

java - addPropertyChangeListener 上的 NullPointerException

我创建了一个简单的 LED,它接收来自许多数字组件(例如开关/门)中的任何一个的输入。问题是,当尝试实现 PropertyChangeListener 接口时,我得到了 NullPointerException。使用下面的代码,如果我只是将它添加到 JFrame 表单并尝试运行它,我会得到这个异常。我已经实现了与门/开关相同的 LED,但是由于某种原因,我的代码会产生错误。任何帮助表示赞赏。

0 投票
2 回答
1280 浏览

java - JProgressBar 不更新

我在使用 JprogressBar 'pb1' 时遇到问题 - 它不会更新。我尝试了不同的方法来使其工作,但似乎我找不到我哪里出错了。propertyChangeListener 可能存在问题,我不完全确定。

0 投票
1 回答
595 浏览

java - 无法在扩展 PropertyChangeListener 的 Main 类中拦截 PropertyChangeEvent,为什么?

我是 Java Swing开发的新手,在我的 GUI 中使用PropertyChangeListener时发现了一些困难。

所以我有一个实现PropertyChangeListener接口的Main类:

然后我有LoginFrame类:

正如您在此LoginFrame类中看到的,当用户单击JButton时,会执行actionPerformed方法(并且它有效,因为我通过 println 看到它)并在此方法中通过以下行执行firePropertyChange()方法:

然后在Main类中,我有propertyChange()方法必须拦截此事件,但这似乎不起作用,因为不要输入此方法,也不要在其中打印“ GUI ---> propertyChange()”我的控制台

为什么?我错过了什么?

0 投票
2 回答
1286 浏览

java - 使用 PropertyChangeListener 接口是不是一个好方法?

我对fireIndexedPropertyChange()方法的深层含义和使用有疑问,该方法会触发一个事件,该事件将由我在另一个类中声明的propertyChange()侦听器拦截和处理。

例如,在使用 JButton 实现登录 GUI(显示登录表单)的类中,当用户单击我的按钮时,我会执行此方法:

因此,当尚未登录的用户单击我的按钮时,将执行此方法并触发新的PropertyChange事件。

我的PropertyChange事件本身包含以下信息:

  1. propertyName是可以更改的属性的名称(在我的示例中名为loginResult 因为我有一个名为loginResult的布尔变量,如果用户可以在单击按钮时登录,则值为 true,否则为 false

  2. 旧值是可以更改的属性的旧值(在我的示例中为 false,因为如果用户看到登录窗口,则意味着它没有登录并且loginResul=false

  3. :在这种情况下,它是loginResult变量的内容(如果用户正在系统中登录,则为 true)

因此,此PropertyChange事件将被我的propertyChange()方法(在侦听器类中声明)拦截,该方法根据这些参数处理它:例如以下列方式:

** 如果 propertyName 是 loginResult 并且如果新值为 true 则不再显示登录窗口,而是显示主应用程序窗口**

我的推理是否正确,它可能是使用PropertyChangeListener接口的好方法?

肿瘤坏死因子

安德烈亚

0 投票
1 回答
496 浏览

java - 这个关于 PropertyChangeListener 的推理是否正确?

我对PropertyChangeListener界面的使用有些疑惑。

我有一个名为GUI实现PropertyChangeListener接口的类。

在这个类中,我有以下方法来创建和显示一个JFrameLoginFrame是扩展的自定义类JFrame):

所以,在我的LoginFrame对象上我添加了一个PropertyChangeListener. 所以我认为我正在添加一种机制,当更改此对象中的属性值时,它会通知此更改,该更改将由以下方法处理(在我的GUI类中声明):

在我的LoginFrame班级的特定情况下,我有一个JButton如果单击触发将由前一个方法处理的事件,以这种方式:

我的推理正确吗?

谢谢

安德烈亚

0 投票
1 回答
1063 浏览

java - 为什么这个 propertyChange() 方法不能处理这个事件?

我是Swing开发的新手,使用实现PropertyChangeListener接口的类时遇到以下问题。

所以我有以下GUI类(我只发布这个类的有趣部分):

然后我有MainFram类,它扩展了一个JFrame,其中有一个JButton来执行注销操作,如下所示:

因此,当单击我的JButton时,将执行此方法:

事实上,当我在控制台中单击按钮时,会出现输出:

“点击了 logOutButton !!!,firePropertyChange() 将启动”

然后我执行firePropertyChange()方法,我希望这个事件是由GUI类的这个方法处理的:

但不工作,似乎没有进入firePropertyChange()方法?

为什么?我错过了什么?

肿瘤坏死因子

安德烈亚

0 投票
1 回答
1408 浏览

java - 为什么 JFrame 打开时会触发此属性更改事件?

我有一个 2 JFormattedTextFields,它以不同的形式输入相同的信息。当用户更改另一项时,我希望进行一项更改。在使用 s 之前我已经实现了类似的东西PropertyChangeListener,但是这次我遇到了一个奇怪的错误。

当我JFrame打开PropertyChangeListener事件时,没有明显的原因触发。getNewValue()on 的值为PropertyChangeEvent空。

这是引用我的标签的所有代码:

然后在我的 JFrame 构造函数中:

如您所见,我没有在代码中设置值,并且NullPointerException在我有机会输入任何内容之前调用事件(并生成一个)。我还没有编写监听器delayField

0 投票
1 回答
2156 浏览

java - 列表内对象的 PropertyChangeListener

我的问题是,当我从模型的属性中更改值时,PropertyChangeSupport会触发但PropertyChangeListener永远不会到达视图中的值。所以我想我通过添加监听器做错了。

任何类型的输入表示赞赏。

当我启动应用程序时,我目前得到以下输出:

监听器 zu stackOverflow.allInOne.MyPropertyChangeListener@cee47f1 hinzugefügt mit property btnText java.beans.PropertyChangeEvent[propertyName=btnText; 旧值=空;新值=空;传播标识=空;source=stackOverflow.allInOne.Model2@6fb525d8] 收到火

所以我有点困惑为什么我会着火,因为我在添加监听器之前设置了 btnTxt 的值。无论如何,如果我更改字段中的文本,那么我将得到以下输出:

动作事件触发控制器设置新值模型触发

所以正如我在最初的问题中提到的那样,在我看来

并不总是有效。