我正在使用Swing和Swing應用程序框架(JSR 296)在Java中開發一個小應用程序。 它應該在Windows和Linux下工作。Swing應用程序框架不會在Linux中保存程序的會話(窗口發佈,大小等)
在Windows XP會話(窗口的位置,大小等)被保存,但在Linux中不是! 程序擴展了SingleFrameApplication。它應該自動保存窗口位置。 沒有爲此編寫額外的代碼。我追蹤了框架資源,但沒有發現任何錯誤。 會話存儲必須將窗口狀態保存到主文件夾中的.MyApp目錄中。該文件不存在。我有一些用戶參數,我使用java屬性手動保存到xml中,而不是會話存儲!這個文件在沒有任何問題的情況下被保存到.MyApp目錄中!
有沒有人知道爲什麼程序不保存它的狀態在Linux中,但在Windows中呢?
求解:原因是OpenJDK與SAF不兼容。在我刪除OpenJDK並從Oracle窗口安裝JDK後,變爲保存&恢復其位置和維度。
爲什麼不使用'java.util.prefs.Preferences'? – 2011-03-25 16:20:16
因爲Swing應用程序框架自動進行會話保存。手動儲存是一項工作。 – Exterminator13 2011-03-25 21:26:04
我建議你先切換到支持的BSAF(SAF幾年來沒有看到任何活動)。這看起來像會話存儲目錄上的權限問題。 – jfpoilpret 2011-03-28 16:44:54