记住JDialog尺寸

时间:2018-01-25 08:25:13

标签: java swing applet java-web-start

我有一个java应用程序并在其中使用JDialog。我正在使用setMinimumSize(640,400)。每当用户将对话框调整为某个自定义高度和宽度时。必须保存这个新维度,以便下次当用户加载相同的对话框时,它应该以新的用户自定义维度呈现,而不是最小尺寸。

有人可以帮助我如何在所有用户会话中存储新维度。?

2 个答案:

答案 0 :(得分:1)

您可以使用任何数量的可能解决方案

你可以......

使用Properties API。这个仅由HashMap支持的类,但可以轻松保存和加载。

此API可让您完全控制文件的保存位置,因此您可能希望保存到user.home位置以将其与给定用户关联。

有关详细信息,请查看the Properties trail

你可以......

使用Preference API。它提供了一些有用的功能,允许您定义存储值的上下文(即用户或系统),并控制值本身的存储,因此您无需担心尝试保存或加载重视自己

有关详细信息,请查看the JavaDocs

你可以......

只需使用JSON,XML或简单的旧文本自行将数据写入文件。这很复杂,需要大量工作,但可以完全控制

你可以......

如果您有一个可用的

,请将值存储在某种数据库系统中

无论您使用哪种选择,您都可能会发现需要单独编写widthheight属性

如何获取对话框大小?

那么,这将取决于你已经在做什么。例如,我可能想要创建一个自定义对话框,在关闭时,会写出大小属性本身。它也会自己加载它们,这样,你只需依靠JDialog#getSize

答案 1 :(得分:0)

您可以在Dialog中添加componentListener,如果调整大小,可以保存值:

dialog.addComponentListener(new ComponentAdapter() {
    public void componentResized(ComponentEvent e) {
        Dimension dimension = e.getComponent().getSize();
        // save the dimension
    }
});