我有這種情況,我想在圖中顯示一個數字。該號碼將被輸入Jtextfield,我希望工具提示以數字顯示金額。問題是,工具提示顯示較舊的數據。文本提交前的Jtextfield工具提示更新
我已經寫了一些代碼,向您展示問題:
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
public class Test
{
public static void main(String[] args) {
final JFrame frame=new JFrame();
frame.setLayout(new FlowLayout());
frame.setPreferredSize(new Dimension(400,100));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
final JTextField tf=new JTextField(30);
frame.add(tf);
frame.add(new JTextField(30));
tf.addFocusListener(new FocusListener() {
@Override
public void focusLost(FocusEvent e) {
tf.setToolTipText(tf.getText());
}
@Override
public void focusGained(FocusEvent e) {
tf.setToolTipText(tf.getText());
}
});
SwingUtilities.invokeLater(new Runnable() {
public void run() {
frame.pack();
frame.setVisible(true);
}
});
}
}
讓我們這種情況下,用戶鍵入數字到第一文本框。文本光標仍然在同一個文本框上。當用戶現在將鼠標指針移到第一個文本字段上時,工具提示仍然顯示舊文本。 現在,當您將焦點轉移到第二個文本字段時,第一個文本字段的數據將被提交,因此工具提示也會刷新。
現在如何顯示文本框中尚未提交的文本上的工具提示?
+1上的「文檔」,而不是關鍵字偵聽器。 – camickr 2012-01-04 16:14:33