我正在使用Java和Swing在線製作分佈式併發遊戲。當用戶按下[x]關閉窗口時,我想從遊戲區域移除玩家的圖標。在結束這個過程之前,我怎麼能說VM來執行一個函數呢?按下[x]時的運行代碼
-2
A
回答
2
假設您使用的是JFrame
,請將其默認關閉操作設置爲DO_NOTHING_ON_CLOSE
並添加WindowListener
以對windowClosing
作出反應。
此方法可以做任何需要的,然後只是dispose
窗口實際關閉它。
注:這也可以用來詢問用戶是否她/他真的想要退出...
0
如果你使用一個JFrame,我覺得像在描述你最好寫你自己的KeyEventDispatcher該文章:Unresponsive KeyListener for JFrame 如果您只是將一個KeyListener添加到JFrame中,並且您有可選組件,那麼您必須將偵聽器也添加到所有這些組件,推測是遞歸的。
然後,您可以檢測到有人按下x然後調用JFrame的dispose功能。如果您還將WindowListener添加到JFrame中,則可以在框架關閉之前調用的windowClosing方法中放置一些代碼。
相關問題
- 1. 運行代碼,直到按下按鈕
- 2. 單擊時運行下劃線代碼
- 3. 以下代碼未運行?
- 4. 按下按鈕時,如何讓我的應用程序運行終端代碼?
- 5. 按下運行時VBA宏不運行
- 6. 按下按鈕時的運行功能
- 7. 在Java 8下運行時,此Groovy代碼無法運行
- 8. 每x分鐘運行一次代碼
- 9. 每x秒運行一次代碼
- 10. 在Hadoop 2.x中運行C++代碼
- 11. 按下運行Javascript時
- 12. 如何停止運行代碼(使用定時器)直到按下按鈕
- 13. 按下「輸入」按鈕時,按鈕會執行錯誤代碼
- 14. 在運行時編譯運行代碼
- 15. 單擊X按鈕時運行命令
- 16. 運行VS代碼時System.typeloadException
- 17. 代碼運行時間
- 18. 運行時異常代碼
- 19. Python - 同時運行代碼
- 20. 運行時深奧的C程序行爲 - 代碼沒有按順序運行
- 21. 如何運行下面的jQuery代碼
- 22. java.lang.IllegalStateException occour而下面的代碼運行
- 23. 當我運行下面的Java代碼
- 24. 在Android下運行的Javascript代碼
- 25. 運行 - 在下面的代碼
- 26. 如何在按下標籤欄上的項目時運行代碼?
- 27. 在Android AppWidget中按下按鈕時執行代碼
- 28. 如何在按下按鈕時立即執行代碼?
- 29. SetWindowsHookEx,在按下鼠標按鈕時執行代碼
- 30. 如何按下主頁按鈕時執行代碼?
任何嘗試?您可以提供的任何代碼? – AscendedKitten