[英]java swing getting a value from a JTextField from a different thread
我知道,如果需要從其他線程更改JTextField
值,則需要使用SwingUtilities.invokeLater()
調用。 但是,如果我需要從其他線程獲取該值,是否可以只使用textfield.getText()
還是需要使用某種invokeLater
調用? 謝謝。
如果您對getText()調用的結果可能不確定(即無序)感到滿意,那么可以允許使用其他線程來獲取值。
甚至應該從事件分發線程中調用諸如getText()這樣的簡單操作。
如果您在另一個線程中,則可以使用invokeAndWait :
final String[] textHolder = { null };
EventQueue.invokeAndWait(new Runnable() {
@Override
public void run() {
textHolder[0] = someTextField.getText();
}
});
String text = textHolder[0];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.