我有一个java应用程序并在其中使用JDialog
。我正在使用setMinimumSize(640,400)
。每当用户将对话框调整为某个自定义高度和宽度时。必须保存这个新维度,以便下次当用户加载相同的对话框时,它应该以新的用户自定义维度呈现,而不是最小尺寸。
有人可以帮助我如何在所有用户会话中存储新维度。?
答案 0 :(得分:1)
您可以使用任何数量的可能解决方案
使用Properties
API。这个仅由HashMap
支持的类,但可以轻松保存和加载。
此API可让您完全控制文件的保存位置,因此您可能希望保存到user.home
位置以将其与给定用户关联。
有关详细信息,请查看the Properties trail
使用Preference
API。它提供了一些有用的功能,允许您定义存储值的上下文(即用户或系统),并控制值本身的存储,因此您无需担心尝试保存或加载重视自己
有关详细信息,请查看the JavaDocs
只需使用JSON,XML或简单的旧文本自行将数据写入文件。这很复杂,需要大量工作,但可以完全控制
如果您有一个可用的
,请将值存储在某种数据库系统中无论您使用哪种选择,您都可能会发现需要单独编写width
和height
属性
那么,这将取决于你已经在做什么。例如,我可能想要创建一个自定义对话框,在关闭时,会写出大小属性本身。它也会自己加载它们,这样,你只需依靠JDialog#getSize
答案 1 :(得分:0)
您可以在Dialog中添加componentListener,如果调整大小,可以保存值:
dialog.addComponentListener(new ComponentAdapter() {
public void componentResized(ComponentEvent e) {
Dimension dimension = e.getComponent().getSize();
// save the dimension
}
});