Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在使用之间保存Java GUI布局配置(带桌面窗格)_Java_Swing_Layout_User Interface_Save - Fatal编程技术网

在使用之间保存Java GUI布局配置(带桌面窗格)

在使用之间保存Java GUI布局配置(带桌面窗格),java,swing,layout,user-interface,save,Java,Swing,Layout,User Interface,Save,我正在开发一个GUI,我想让它在会话之间保存布局信息。具体来说,如果用户运行gui,然后将gui移动到屏幕的不同部分,我希望gui在关闭之前保存该屏幕位置,以便下次打开时在新屏幕位置打开。对于宽度和高度,我也希望这样做(以保留用户对gui进行的任何重新调整) 最后,我在GUI中使用一个桌面窗格,它有多个内部框架。我真的很想保留每个内部框架的布局(屏幕位置、高度和宽度、图标化(最小化)与否) 我的问题是,在java中是否有一种简单的内置方法来实现这一点?或者我需要手动操作吗。我四处搜索,但找不到关

我正在开发一个GUI,我想让它在会话之间保存布局信息。具体来说,如果用户运行gui,然后将gui移动到屏幕的不同部分,我希望gui在关闭之前保存该屏幕位置,以便下次打开时在新屏幕位置打开。对于宽度和高度,我也希望这样做(以保留用户对gui进行的任何重新调整)

最后,我在GUI中使用一个桌面窗格,它有多个内部框架。我真的很想保留每个内部框架的布局(屏幕位置、高度和宽度、图标化(最小化)与否)

我的问题是,在java中是否有一种简单的内置方法来实现这一点?或者我需要手动操作吗。我四处搜索,但找不到关于这个话题的很多东西


我正在使用Netbeans GUI编辑器开发我的GUI。谢谢

实现一个
WindowListener
并在
windowClosing()
调用中,将有关GUI的信息保存到系统中,然后
将它们存储到文件中

构建GUI后,读取属性文件(如果存在)并设置要维护其属性的组件的属性


确保每个内部框架使用不同的名称,以免覆盖属性。

实现一个
WindowListener
,并在
windowClosing()
调用中,将有关GUI的信息保存到系统中,然后
将其存储到文件中

构建GUI后,读取属性文件(如果存在)并设置要维护其属性的组件的属性


确保为每个内部框架使用不同的名称,以免覆盖属性。

不,没有可用的库可以这样做,您必须手动编写所有代码。

如果您可以移动到其他GUI框架,如JDesktop,它有一个内置函数,但与框架绑定。

不,没有可用的库可以这样做,您必须手动编写所有代码。

如果您可以移动到其他GUI框架,如JDesktop,它有一个内置的功能,但与框架绑定。

您可以有任意数量的选项

存储
  • 。这基本上是一个
    字符串
    键/值对,具有
    加载
    保存
    功能。不过,您需要能够将值解析到
    String
  • API比
    属性
    更高级一些,因为它允许您存储原语,但您无法控制这些值的存储位置(或多或少)。一个
  • 如果你真的喜欢冒险,你可以使用,甚至可能
  • 捕捉事件 主窗口实际上很简单。基本上,您只需要将
    WindowListener
    附加到主窗口并监视
    windowClosing
    事件。在这一点上,您需要获得帧的边界,并坚持到底,这意味着您希望。退房

    桌面根据您的需要提供一些额外的机制

    您只需添加到每个
    JInternalFrame
    并监视
    internalFrameClosing
    internalFrameClosing
    事件


    或者您可以实现自己的
    DesktopManager
    并覆盖
    closeFrame
    方法。如果可以的话,我可能会避免这种情况,因为
    DesktopManager
    对于每个外观都是不同的

    您有很多选择

    存储
  • 。这基本上是一个
    字符串
    键/值对,具有
    加载
    保存
    功能。不过,您需要能够将值解析到
    String
  • API比
    属性
    更高级一些,因为它允许您存储原语,但您无法控制这些值的存储位置(或多或少)。一个
  • 如果你真的喜欢冒险,你可以使用,甚至可能
  • 捕捉事件 主窗口实际上很简单。基本上,您只需要将
    WindowListener
    附加到主窗口并监视
    windowClosing
    事件。在这一点上,您需要获得帧的边界,并坚持到底,这意味着您希望。退房

    桌面根据您的需要提供一些额外的机制

    您只需添加到每个
    JInternalFrame
    并监视
    internalFrameClosing
    internalFrameClosing
    事件

    或者您可以实现自己的
    DesktopManager
    并覆盖
    closeFrame
    方法。如果可以的话,我可能会避免这种情况,因为
    DesktopManager
    对于每个外观都是不同的