在我的java swing應用程序中,我有一個用於顯示當前時間的Jframe和Jlabel。 這裏我正在使用一個線程來顯示時間在jlablel中被添加到frame.my的疑問是,當我處置jframe時,會發生什麼事情發生在線程無論它正在運行還是停止。java swing線程問題
1
A
回答
2
如果您還沒有通過調用yourThread.setDaemon(true)
標記您的主題守護程序,它會繼續運行,即使在您的應用程序的主線程完成。請記住,在開始線程之前,您必須致電setDaemon
。
請參閱我的answer對於一些細節上的前一個問題。
在你的情況下正確的方法,我相信會是你保持這是由你的計時器線程觀看了「停止」標誌。讀取此標誌時,定時器線程應退出爲'假'。您可以將的WindowListener添加到您的JFrame,並在窗口關閉事件設置「停止」標誌真正
繼承人的示例代碼我的建議:
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
public class JFrameTest {
public static void main(String[] args) {
final Timer t = new Timer();
t.start();
JFrame jf = new JFrame("GOPI");
jf.setVisible(true);
jf.setSize(100, 100);
jf.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
t.stopTimer();
}
});
System.out.println("JFrameTest.main() DONE");
}
}
class Timer extends Thread {
boolean stop = false;
@Override
public void run() {
for (int i = 0; i < 50; i++) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
if (stop)
break;
System.out.println("Counting :" + i);
}
System.out.println("Timer exit");
}
public void stopTimer() {
stop = true;
}
}
0
你的線程將繼續運行。
你需要做的要麼通過戈皮的建議或者你可以在你的JFrame的關閉操作使用System.exit(0)
。
注意:我這裏假設你的應用程序需要結束,如果這幀被關閉。
+0
不,我不能調用system.exit(0)它會關閉我的應用程序。我需要處理jframe並在幾秒鐘內顯示一個新的jframe。 – Lalchand 2010-09-17 10:33:44
相關問題
- 1. java swing和web start的線程問題
- 2. Java Swing +線程
- 3. java swing swing與多線程
- 4. 多線程Java Swing
- 5. Java Swing線程庫
- 6. Java swing - list.add問題
- 7. Java Swing FocusTraversalPolicy問題
- 8. Java Swing textfield問題
- 9. Java Swing Threading問題
- 10. Java Swing GUI - 問題
- 11. Java Swing多線程訪問JTextArea
- 12. Java:線程問題
- 13. Java - 線程問題
- 14. Java線程問題
- 15. Java線程問題
- 16. Java線程問題
- 17. Java - 線程問題
- 18. Java線程問題
- 19. Java線程問題
- 20. Java線程問題
- 21. Java線程問題
- 22. java線程問題
- 23. Swing Window監聽器線程問題
- 24. Swing教程問題
- 25. Java Swing到JavaFX(RMI /線程)
- 26. Swing事件線程Java
- 27. Java - 線程,Swing和ServerSocket
- 28. Java Swing和線程計劃
- 29. 如何 - Java線程訪問其他線程(SWING)
- 30. 動態Jlist Java Swing問題
什麼是實際問題? – Roman 2010-09-17 10:00:17
鬆散的線程是一個問題。 – kgiannakakis 2010-09-17 10:06:45
@羅馬記憶問題。 – Lalchand 2010-09-17 10:11:35