问题标签 [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 - Swing中如何避免View和Controller耦合
我最近遇到了一个问题,试图在Swing中实现 Model-View-Controller 。
我有一个由子面板组成的 GUI 类,这些子面板由其他子面板组成。现在在这些子子面板之一中有一个JButton
. ActionListener
为此,JButton
我想在控制器中调用一个方法。为了做到这一点,我需要将控制器深入到 GUI 的内部,并传递给它所在的子面板JButton
。然后在这个子子面板中,我需要将一个附加ActionListener
到并通过调用我想在控制器中调用的方法来JButton
填写。actionPerformed()
相信大家都看到了问题。有什么好的方法可以避免将控制器深入到 GUI 的内部。
我唯一的想法是让控制器成为单例以将其与视图分离,但我听说单例通常是邪恶的。
对此问题的任何建议将不胜感激。
java - 如何从线程触发 PropertyChange 事件?
我正在制作一个 android 应用程序,我想maxDbRecorded
在类的属性Measure
更改时更新标签。所以我在我的活动中实现了一个 PropertyChangeListener。
现在我想maxDbRecorded
在我的线程中设置 from 的值。以便 textview numberOfMaxDecibels 更新。
在类 Recorder 中,我有我设置的线程maxDbRecorded
,但 PropertyChanged 事件没有被触发。如果我maxDbRecorded
直接从 Activity 设置它确实有效。
我还尝试在我的 Activity 中创建一个 Measure 对象并将此实例提供给 Recorder 线程。这给出了一个错误: $CalledFromWrongThreadException: 只有创建视图层次结构的原始线程才能触及它的视图。
java - 如何在 GWT 中使用 PropertyChangeListner?或者有什么更好的方法吗?
我正在尝试从 GWT 中的 servlet 获取上传进度信息,但SubmitCompleteHandler
在服务器上传完成和 servlet 重新调整响应后返回。是否可以使用 获取上传进度PropertyChangeListener
?
java - 为什么我的属性监听器不开火?
这就是我的代码的样子:
然而,这段代码似乎不起作用——它永远不会到达事件触发时应该执行的块!我在这里做错了什么?
java - Java:当用户停止调整窗口大小时做某事
我目前正在使用可调整大小的 JavaFX 2.0 编写 gui。当用户调整窗口大小时,一个大矩形会随之调整大小。现在我需要将这个矩形的新边界推到一个漂浮在矩形内并且可能不会越过它的边界的图像上。
我想过通过 ChangeListener 更新边界,但我不希望它经常更新边界。完美的解决方案是“ChangeIsOverListener”,它在更改结束时更新边界一次。
有人可以帮帮我吗?
提前致谢!:)
java - propertyChangeListeners 连锁反应,导致溢出
只是一段代码。为班级做一个项目,我必须根据对它们各自的更改来转换摄氏度、华氏度和开尔文JFormattedTextFields
。问题是,当对listener
摄氏温度的变化做出反应时,我的程序会改变华氏温度,然后它对我的华氏温度监听器做出反应,它再次对我的摄氏温度监听器做出反应,依此类推。由于这个问题,我还没有在我的 Kelvin 上工作过。我怀疑是否需要我的代码,因为这更像是一个概念问题,但无论如何:
java - 将 Swing GUI 组件的属性绑定到自定义类方法(属性)
我正在做我的聊天项目。我已经编写了无需 GUI 即可工作的服务器和客户端,只需控制台 UI。现在,在处理客户端 GUI 时(使用 Netbeans 提供的工具,而不是我自己编写的代码),我一直遇到绑定问题。
在ClientGui
课堂内我有Client
对象。在我的 GUI 中,我想禁用输入文本字段,直到客户端未连接到聊天服务器。我试图绑定(通过Netbeans GUI)我的输入文本字段的属性启用到该客户端对象的方法isConnected()
(返回boolean
)。isConnected
不仅仅是返回某个变量的值,它是组合的布尔表达式。因此,当用户单击连接时,它会成功,但输入文本字段不会将其状态更改为启用。
所以当我得到它时,我必须与事件和侦听器一起工作并在我的Client
课堂上通知?但是绑定的意义何在,因为我可以在我的Client
和我的输入字段上触发事件来监听客户端连接的事件?
所以我提供了我的代码块。
该类Client
:(您可能会看到一些带有动作侦听器和事件的行,我没有删除它们,只是进行了实验)
图形用户界面类Client
:
事实上,它是一个JList
,但没关系,因为我想要对少数组件进行这样的绑定。在这里,我尝试在 GUI 表单中使用假方法,该方法调用连接的客户端(这样做是因为不知道如何添加Client
为组件)。
我在论坛上读过,到处都在谈论豆类等等。我希望我的Client
班级尽可能少地使用 GUI、接口实现和触发事件调用等所需的代码。
更新
很好!谢谢你。为什么我不能绑定,所以我不必使用setEnabled(value)
方法(使启用的属性跟踪布尔表达式“property”(connection != null && !connection.isClosed()
)。另外,由于这个技巧我必须做setConnected(value)
,即使这在运行时解决取决于在连接上,我什至不知道旧值(当然,我可以做私人 voidsetConnected(booleanvalue)
并根据这些地方发生的情况用真或假来调用它。似乎我使用属性的想法是错误的,最好这样做与动作或事件。
java - 获取有关静态变量(类变量)的 PropertyChangeListener 通知
在我的代码中,我需要知道特定静态变量何时更改是值。我知道在 Java 中我可以将自己注册为实例变量的侦听器,但我不能使用静态(类)变量来做到这一点。任何人都可以解决这个问题吗?谢谢
java - 将 PropertyChangeListener 添加到 JComboBox
我该如何PropertyChangeListener
使用JComboBox
?当我在 editable 中写入时JComboBox
,我会立即写入文本,因为我更改了组合框箭头按钮的图标;关键听众不再工作。这是我尝试过的,但我不知道如何完成:
java - 在按钮单击时将变量值返回给 main
我希望每次单击按钮时 main 都应该打印 hello (在弹出对话框中)。所以我设计了以下程序,但它似乎不起作用。该程序编译并执行得很好,但是当我单击按钮时,我看不到任何对话框弹出。我已经放置了布尔变量 (button_clicked) 的 getter 和 setter,其值正在 main() 块中进行测试。知道的请帮忙..