2017-07-11 169 views
0

Java線程:如何讓兩個線程完全獨​​立Java線程:如何讓兩個線程完全獨​​立

我有jar格式Swing應用程序,我從我的Java應用程序調用主類,SWING罐子以便他們可以使用相同的JVM。

爲Swing應用程序使用相同的JVM的原因是我試圖自動化該應用程序並捕獲我在同一個JVM中調用它的swing組件。

對於運行該swing應用程序,我正在使用一個單獨的線程,我的主線程包含我的自動化代碼。

一切正常,但經過一段時間後,應用程序生成一個JOption彈出窗口,該窗口會暫停應用程序,直到選中選項。

問題是,這個彈出暫停/暫停完整的應用程序 - Swing應用程序+我的應用程序,只有一個後臺線程保持運行的持續用戶輸入

檢查有沒有什麼方法來創建一個線程這是完全不受影響其他線程?

+0

AFAIR你不能在一個應用程序中運行兩個擺動線程(至少沒有魔法)。 – talex

+0

只有一個Event Dispatch Thread。運行你的「應用程序」和「擺動應用程序」的線程可能是獨立的,但鼠標和鍵盤事件都會在EDT中結束。 – RealSkeptic

+0

@talex沒有我沒有運行拖動擺動線程,只有一個線程用於運行擺動另一個只是正常的java代碼 –

回答

0

我相信你的主線程中的某個地方,你直接調用了一個Swing組件,這個組件直到它被確認。

您需要將該函數從其自己的Runnable中的主線程調用並在新的Thread實例中執行。

相關問題