[英]Calling function when program exits in java
我想在每次用戶退出程序時保存程序設置。 所以當用戶退出程序時我需要一種方法來調用函數。 我怎么做?
我使用的是Java 1.5。
您可以通過執行以下操作向應用程序添加關閉掛鈎:
Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
public void run() {
// what you want to do
}
}));
這基本上相當於在整個程序中使用try {} finally {}塊,並且基本上包含了finally塊中的內容。
請注意警告 !
添加一個關閉鈎子addShutdownHook(java.lang.Thread)可能就是你要找的東西。 但是,這種方法存在問題:
因此,最好立即保存設置(可能在額外的線程中,以避免等待時間)。
你在創建一個獨立的GUI應用程序(即Swing)嗎?
如果是這樣,您應該考慮如何為用戶提供如何退出應用程序的選項。 也就是說,如果有一個文件菜單,我希望會有一個“退出”菜單項。 此外,如果用戶關閉應用程序中的最后一個窗口,我也希望它退出應用程序。 在這兩種情況下,它都應該調用處理保存用戶首選項的代碼。
使用Runtime.getRuntime()。addShutdownHook()肯定是一種方法 - 但是如果你正在編寫Swing應用程序,我強烈建議你看一下JSR 296(Swing應用程序框架)
這是一篇關於基礎知識的好文章: http : //java.sun.com/developer/technicalArticles/javase/swingappfr/ 。
與添加關閉掛鈎相比,JSR參考實現提供了更高抽象級別所需的功能。
以下是參考實現: https : //appframework.dev.java.net/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.