JFrame Size Persistience



我正在持久化一个JFrame的大小/状态信息。

可以得到高度、宽度和扩展状态数;然而,这些信息是远远不够的。例如,如果一个窗口被最大化,那么返回的高度和宽度将不是返回到正常大小后的高度和宽度。

是否有一种有用的方法来持久化和恢复这个状态数据,或者我是否只需要将窗口切换到JFrame。读取前状态正常?这对所有可能的边缘案件都足够吗?

显然,在正常情况下,我们恢复正常的大小。

当maximize_both时,我们希望恢复正常大小,然后maximize_both。

当maximize_horizonz或maximize_vert,我猜我们想要恢复正常的大小,然后maximize_horizonz或maximize_vert分别。我不确定。这是否能够适当地处理垂直和水平大小?可能。

当图标化时,我们想要恢复正常的大小,然后图标化——或者不图标化…不确定。

需要澄清的是,问题不在于持久化机制,而在于持久化什么以及如何从JFrame获得它。

与其只保留框架的宽度和高度,还不如尝试保留首选的尺寸信息。

这样,如果扩展状态不等于MAXIMIZED_BOTH(或两者的变体),您可以将大小设置为首选大小。

当然,您可以简单地调用pack

最新更新