我正在使用swing和swing应用程序框架(jsr 296)在java中开发一个小应用程序。
它应该在windows和linux下工作。
在windows xp会话中(窗口位置、大小等)是保存的,但在linux中不是!
程序扩展了单帧应用程序。它应该自动保存窗口位置。
没有为此编写额外的代码。我跟踪了框架源代码,但没有发现任何错误。
会话存储必须将窗口状态保存到主文件夹中的.myapp dir中。文件不在那里。我有一些用户参数,我用java属性手动保存到xml中,而不是会话存储!此文件保存到主文件夹中的.myapp dir中没有任何问题!
有人知道为什么程序不在Linux中保存状态,而在Windows中保存状态吗?
解决方法:原因是openjdk与saf不兼容。在我从oracle中删除openjdk并安装jdk之后,windows开始保存和恢复它们的位置和尺寸。
最佳答案
首先,围绕better swing应用程序框架有一个活跃的社区。(将问题发送到那里可能会有帮助,甚至更好地在问题跟踪程序中创建一个新的票证,其中包含环境的完整定义和代码的提取。
同时尝试将应用程序与sun/oracle jre/jdk 6一起使用。因为saf没有在open jdk上测试,而且它与jdk7有问题。(XmlEncoder/XmlDecoder的不同实现)。
我希望这会有帮助。