簡體   English   中英

java swing從另一個線程從JTextField獲取值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM