- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我的 JFrame
对象上有两个 JFormattedTextField
对象。我想通过这些 JFormattedTextField
对象的值进行基本数学运算(加法)。我希望它发生在焦点丢失第一个或第二个文本字段时。但是当“focusLost()
”时,事件没有得到最后一个值,它得到了以前的值。
例如; tf1
一开始是 0,tf2
是 0。我将2写入tf1
,当focusLost()
时,结果(tf1+tf2
)仍然为0。当我更改其中任何一个时,结果变成2(之前的值)
如何获取 focusLost 的最新值?
这是我的代码:
JFormattedTextField tf1,tf2;
NumberFormat format=NumberFormat.getNumberInstance();
tf1=new JFormattedTextField(format);
tf1.addFocusListener(this);
tf2=new JFormattedTextField(format);
tf2.addFocusListener(this);
和focusLost()
:
public void focusLost(FocusEvent e) {
if(tf1.getValue() == null) tf1.setValue(0);
if(tf2.getValue() == null) tf2.setValue(0);
//because if I dont set, it throws nullPointerException for tf.getValue()
BigDecimal no1 = new BigDecimal(tf1.getValue().toString());
BigDecimal no2 = new BigDecimal(tf2.getValue().toString());
System.out.println("total: " + (no1.add(no2)));
}
最佳答案
我认为你应该使用 PropertyChangeListener
,参见 How to Write a Property Change Listener .
有一个使用 JFormattedTextField
的例子:
//...where initialization occurs:
double amount;
JFormattedTextField amountField;
...
amountField.addPropertyChangeListener("value",
new FormattedTextFieldListener());
...
class FormattedTextFieldListener implements PropertyChangeListener {
public void propertyChanged(PropertyChangeEvent e) {
Object source = e.getSource();
if (source == amountField) {
amount = ((Number)amountField.getValue()).doubleValue();
...
}
...//re-compute payment and update field...
}
}
关于java - FocusEvent 没有获取 JFormattedTextField 的最后一个值,我如何获取它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6803976/
我有以下示例代码: import java.awt.event.FocusAdapter; import java.awt.event.FocusEvent; import javax.swing.B
我正在用这种方法检查循环中的闭包most popular question on closure in JS 我不明白的是我在哪里更改了闭包代码。我尝试将“help”的值作为参数传递给闭包函数。 fu
我的 JFrame 对象上有两个 JFormattedTextField 对象。我想通过这些 JFormattedTextField 对象的值进行基本数学运算(加法)。我希望它发生在焦点丢失第一个或第
检查 provided article它是 w3school code for FocusEvent relatedTarget Property 代码示例,它在 Google chrome 中完美运
在我的 JavaFx 应用程序中,我想在主框架获得焦点时调用一个方法。但是,我只想在焦点位于我的应用程序之外并返回的情况下使用react(例如,当对话框关闭时)。 当应用程序在Swing中时,我可以使
我是一名优秀的程序员,十分优秀!