Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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 在菜单栏中显示最近打开的项目_Java_Swing_Menu - Fatal编程技术网

Java 在菜单栏中显示最近打开的项目

Java 在菜单栏中显示最近打开的项目,java,swing,menu,Java,Swing,Menu,我想用JavaSwing创建一个窗口。该窗口将有一个带有文件->打开按钮的菜单栏,用户可以从中选择hid硬盘中的文件。与许多其他应用程序一样,“文件”菜单也应该有最近打开的项目列表。有人知道什么是最好的方法吗?我建议使用类来持久化最近打开的项目。这样,如果用户重新启动应用程序,项目仍然可用 请注意,在Windows上,首选项类在注册表中存储数据,即有多少本机Windows应用程序存储和检索最近打开的文件名 另外,请注意,Preferences类只是充当用于存储和检索(键、值)对的API。您仍然需

我想用JavaSwing创建一个窗口。该窗口将有一个带有文件->打开按钮的菜单栏,用户可以从中选择hid硬盘中的文件。与许多其他应用程序一样,“文件”菜单也应该有最近打开的项目列表。有人知道什么是最好的方法吗?

我建议使用类来持久化最近打开的项目。这样,如果用户重新启动应用程序,项目仍然可用

请注意,在Windows上,
首选项
类在注册表中存储数据,即有多少本机Windows应用程序存储和检索最近打开的文件名


另外,请注意,Preferences类只是充当用于存储和检索(键、值)对的API。您仍然需要决定如何存储信息,并在访问新文件时负责动态构建/更新
JMenu
。为了实现这一点,我建议实现
操作
(扩展
抽象操作
)来处理用户试图打开文件的情况。当
操作
运行时,它应该将新访问的文件名持久保存到
首选项
类中,并动态重建文件
JMenu
(除了打开文件)。

+1表示
首选项
,尽管它不仅仅用于Swing。顺便说一句,Mac OS X上的
首选项
存储在
~/Library/Preferences
中的各个文件中。很好,我已经修改了我的答案。我可以发誓首选项在javax.swing包中。