java尝试在通知中变异
发布时间:2020-12-15 05:08:10 所属栏目:Java 来源:网络整理
导读:我有两个摆动ui表格和一个他们都看的模块. 每个ui都会为属性的更改添加一个监听器 并在发生更改时更新自己的文本字段. basiccaly – 他们都应该更新模块并从中更新. 有没有一种简单的方法可以在没有绑定框架的情况下完成它 我是这样做的(但我不断尝试在通知
我有两个摆动ui表格和一个他们都看的模块.
每个ui都会为属性的更改添加一个监听器 并在发生更改时更新自己的文本字段. basiccaly – 他们都应该更新模块并从中更新. 我是这样做的(但我不断尝试在通知中变异) – 关于我的textField的更新 myTextField.getDocument().addDocumentListener(new TFDocumentListener() { protected void userChangedTF() { Float value = myTextField.getValue(); if (value != null) { myObj.setMyAttribute(value); } } }); 仍然在ui – 注册变化 myObj.addMyAttributeChangedListener(new ValueChangeListener<Float>() { @Override public void valueChanged(Float value) { if (!myTextField.isFocusOwner()) { myTextField.setValueIn(value); } } }); 在模块中 – 当setMyAttribute发生时 – 它调用此函数 private void notifyIntervalChanged(float newValue) { for (ValueChangeListener valueChangeListener : intervalChangedListenersList) { valueChangeListener.valueChanged(newValue); } } 我宣布了 public interface ValueChangeListener<T> { void valueChanged(T Value) } 解决方法
如果需要在侦听器中更改相同JTextComponent的内容,请在SwingUtilities.invokeLater()中更改(例如setText())
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |