我正在开发一个 GUI,我想让它在 session 之间保存其布局信息。具体来说,如果用户运行 gui,然后将 gui 移动到屏幕的不同部分,我希望 gui 在关闭之前保存该屏幕位置,以便下次打开时它将在新的屏幕位置打开。我想对宽度和高度做同样的事情(以保留用户对 gui 所做的任何调整大小)。
最后,我在我的 GUI 中使用了一个桌面 Pane ,它有多个内部框架。我真的很想保留每个内部框架的布局(屏幕位置、高度和宽度、图标化(最小化)或不图标化)。
我的问题是,是否有一种简单的内置方法可以在 Java 中执行此操作?还是我需要手动完成。我四处搜索,但找不到太多关于这个主题的信息。
我正在使用 Netbeans GUI 编辑器开发我的 GUI。谢谢!!
最佳答案
您有任意数量的选择。
存储
- Properties .这基本上是一个
String
键/值对,具有load
和save
功能。尽管 ,您将需要能够解析传入和传出 - Preferences API 比
Properties
更高级一些,因为它允许您存储原语,但您无法控制这些值的存储位置(或多或少)。一个example - 如果你真的很喜欢冒险,你可以使用 XML api ,甚至可能是JAXB .
String
的值
捕获事件
主窗口其实很简单。基本上,您只想将 WindowListener
附加到主窗口并监视 windowClosing
事件。在这一点上,您需要获得框架的界限并坚持您希望的方式。查看How to write window listeners
桌面根据您的需要提供了一些额外的机制。
您可以简单地添加 InternalFrameListener每个 JInternalFrame
并监视 internalFrameClosing
或 internalFrameClosed
事件。
或者您可以实现自己的 DesktopManager
并覆盖 closeFrame
方法。如果可以的话,我可能会避免这种情况,因为每个外观和感觉的 DesktopManager
都是不同的
关于java - 在使用之间保存 Java GUI 布局配置(带桌面 Pane ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18155832/