好吧,所以我有我的菜單系統,並從JFrame工作。一切似乎都很順利,直到我點擊啓動畫布的按鈕。現在畫布所做的是初始化擴展Canvas的JFrame,所以我不能使用線程。一旦框架啓動並運行,它會調用一個有效的方法,在此之後,我無法關閉框架。使用static void main運行畫布應用程序時,這從來都不是問題。我該如何解決這個新的JFrame不關閉的問題?菜單系統的工作,但不能關閉
1
A
回答
5
我該如何解決這個新JFrame不關閉的問題?
不要阻塞EDT(Event Dispatch Thread) - 當發生這種情況時GUI將「凍結」。對於長時間運行的任務,請執行SwingWorker
而不是創建無限循環。有關更多詳細信息,請參閱Concurrency in Swing。
0
1.在使用GUI應用程序時,請遵循以下規則:始終將UI工作保持在UI線程上,非UI工作在非UI線程上。
2.二DONOT混淆SWING
和AWT
。
在Java GUI中的main()方法不長住,調度工作,在事件調度線程(EDT)後的main()
方法退出。現在它完全負責EDT的以處理GUI。
4.因此,不要將非UI過程密集型工作與EDT混淆。
使用EDT來處理GUI。
如:
public static void main(String[] args){
EventQueue.invokeLater(new Runnable(){
myframe.setVisible(true);
});
}
相關問題
- 1. 不帶系統菜單但帶關閉按鈕的Delphi窗體
- 2. mmenu菜單系統不能在.Net窗體標籤內工作
- 3. OSX系統菜單欄不能在JavaFX中工作
- 4. 響應菜單不工作(菜單正在關閉)
- 5. sidr菜單關閉不能在鉻移動工作
- 6. JQuery:打開/關閉菜單,打開但不關閉
- 7. wxWidgets從系統菜單中關閉窗口
- 8. Drupal菜單系統 - 輸出樹一級關閉
- 9. 關閉菜單/格關閉
- 10. AS3的開啓/關閉菜單不會工作
- 11. 關閉功能不能正常工作
- 12. jQuery的下拉菜單關閉導航欄不能正常工作
- 13. CSS菜單系統不工作在IOS 8
- 14. Bootstrap菜單不關閉
- 15. Superfish菜單不會關閉
- 16. Sed則工作在一個系統上,但不能在其他
- 17. angular2系統打捆機不能工作
- 18. 得分系統不能正常工作
- 19. 評分系統不能正常工作
- 20. 關閉不工作
- 21. HTML SASS簡單的網格系統不能正常工作
- 22. 單擊一下,但雙擊後不要關閉下拉菜單
- 23. 關閉resonsive菜單
- 24. Javascript菜單關閉
- 25. Jquery不能在混合安卓系統中工作,但在網絡中工作
- 26. Symfony的3:不能讓工作關係
- 27. 關閉功能不工作在Jquery
- 28. WebView不能再工作後關閉
- 29. 關閉DialogFragment onClick不能正常工作
- 30. 芹菜關閉從task_success處理程序不工作的工人
,除非你有一個很好的理由不要混用的Swing和AWT組件。爲此,它可能需要'JPanel'而不是'Canvas'。要將概率轉化爲更確切的東西,請提供更多關於用例的詳細信息。 – 2012-07-31 01:37:09