[英]Creating JFrame in a new Thread(new messageloog)
嗨,我正在嘗試創建多個JFrame,但我希望每個JFrame都有其自己的線程(消息循環),因此當一個JFrame凍結時,其他JFrame將繼續工作
我試圖從不同的線程創建每個jframe,但是它們仍在“ AWT-EventQueue-0”線程中工作。
我來自dotnet背景。 因此,當我想在winForms應用程序中執行此方案時,通常會從新線程調用Application.run(new form())
您能告訴我如何在Java中執行此操作嗎?
提前致謝!
Java中只有UI線程,無論打開多少幀。 我建議您在線程中執行長時間運行的操作。
public void actionPerformed(ActionEvent e)
{
new Thread(new FrameRunnable()).start();
}
public class FrameRunnable implements Runnable
{
public void run()
{
// Do stuff here
}
}
希望這會有所幫助。
閱讀Swing 並發教程中的這一節,以了解事件調度線程是如何工作的。 GUI組件的所有更新必須在EDT上完成。 如果您的任務運行時間長,則可以稍后使用SwingWorker或單獨的線程以及SwingUtilities.invoke(...)將代碼添加到EDT。
為每個生成的JFrame創建一個新線程。 記下您的Thread變量,並將其傳遞給您的Runnable。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.