gpt4 book ai didi

java - 我可以在 firePropertyChange() 启动的事件中传递信息字符串吗?

转载 作者:行者123 更新时间:2023-12-01 23:21:43 25 4
gpt4 key购买 nike

我有以下情况:

在类中,我使用 firePropertyChange() 方法启动 PropertyChange 事件,该事件在另一个类中被捕获并处理,如下所示:

if (authResponse.getStatusResponse() == 0) {
firePropertyChange("loginResult", false, loginResult);
} else {
errorLabel.setText(authResponse.getErrorMessage());
errorLabel.setVisible(true);
}

好吧,就我而言,我有:

firePropertyChange("loginResult", false, loginResult);

它工作得很好,并且在另一个类中被正确拦截,但我对前面代码的含义有一些疑问,我必须实现一个新的行为。

1) firePropertyChange() 方法中的第 3 个参数到底代表什么?

我认为他们是:

loginResult:属性名称(更改的属性)。false:是旧值(在我的具体情况下,这意味着用户未登录)。loginResult:如果用户现在登录,则为 true。

我的推理正确吗?

现在我遇到了以下问题:当我执行 firePropertyChange() 方法时,我正在启动一个包含前 3 个属性的对象事件(这是真的吗?),问题是现在我还必须传递另一个对象(一个表示登录用户的用户名的字符串)。我可以以某种方式将其放入事件对象中吗?

最佳答案

1) What exactly represents the 3 parameter inside the firePropertyChange() method?

  • 名称,属性的名称。这通常是 getter 和 setter 的名称,即。 enabled 通常通过使用 setEnabled 触发并由 isEnabled 检索
  • oldValue,更改之前的旧值
  • newValue,已更改为的新值

And now I have the following problem: When I perform the firePropertyChange() method I am launching an object event that contains the previous 3 property (is it true?),

是的,您正在触发一个 propertyChanged 事件,该事件将传递给所有已注册的监听器,这将封装在 PropertyChangeEvent 对象中

the problem is that now I have also to pass another object (a String that represent the username of the logged user). Can I put it into the event object in some way?

不,你不能(或者可以,但不应该),这不是此 Activity 的目的。此事件旨在提供有关对象内状态更改的信息,而不是提供有关该状态更改的辅助信息(例如导致其发生的原因)...

相反,您可以...

至于事件来源的更多信息。这确实假设您知道导致事件的对象的类型。

或者...

创建您自己的自定义监听器,其中提供所需的信息。

例如,您可以创建一个具有 authenticationFailedauthenticationSucceeded 事件的 AuthenticationListener

然后,您可以创建一个AuthenticationEvent,它携带这些事件方法所需的信息

关于java - 我可以在 firePropertyChange() 启动的事件中传递信息字符串吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20541534/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com