亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JavaFX 在運行時從不同的線程觸發對象創建

JavaFX 在運行時從不同的線程觸發對象創建

翻閱古今 2021-08-13 15:33:44
我有兩個線程,每個線程都有自己的功能:一個處理從套接字讀取輸入,另一個是與 GUI 相關的線程(使用 JavaFX)。讀取線程包含對創建 GUI 線程的 Runnable 對象的引用。當讀取線程接收到某個類型的對象時,它會從 GUI 線程調用一個方法。這個方法應該創建一個新的 Button 標記有一些通過套接字接收到的文本。但是,然后嘗試實例化一個新的 Button,我收到以下異常:Exception in thread "Thread-4" java.lang.IllegalStateException: Not on FX application thread; currentThread = Thread-4.我提到當我嘗試更新現有組件時一切正常,并且不再拋出此異常,因此我得出結論,對象創建是觸發異常的原因。是否可以從不同的線程(如上所述)命令類的實例化?如果沒有,是否有任何解決方法可以達到相同的結果?
查看完整描述

1 回答

?
慕碼人8056858

TA貢獻1803條經驗 獲得超6個贊

這可能已經被問過一千次了,并且是 JavaFX 編程的一個基本方面。必須從應用程序線程向 GUI 添加(而不是創建)控件。因此,如果您想從某個其他線程啟動它,您必須將您的呼叫包裝到一個Platform.runLater()呼叫中。


查看完整回答
反對 回復 2021-08-13
  • 1 回答
  • 0 關注
  • 191 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號