Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.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 JFace-如何删除首选项属性?_Java_Eclipse_Swt_Eclipse Rcp_Jface - Fatal编程技术网

Java JFace-如何删除首选项属性?

Java JFace-如何删除首选项属性?,java,eclipse,swt,eclipse-rcp,jface,Java,Eclipse,Swt,Eclipse Rcp,Jface,我正在使用一个小的JFace首选项商店,在那里我可以直接添加首选项,但是当我想删除我输入的其中一个首选项时会遇到麻烦 我在API中看不到任何允许删除的内容。正确的方法是什么?假设您正在使用IPreferenceStore调用setToDefault(“pref id”)将首选项重置为其默认值。这很奇怪 我三天前在EclipseJFace论坛上问过同样的问题: 我只得到了与我的需求无关的答案。 答案是这是不可能的。此外,您不能将首选项的值或默认值设置为“null” 在我的应用程序()中,需要“清理

我正在使用一个小的JFace首选项商店,在那里我可以直接添加首选项,但是当我想删除我输入的其中一个首选项时会遇到麻烦


我在API中看不到任何允许删除的内容。正确的方法是什么?

假设您正在使用
IPreferenceStore
调用
setToDefault(“pref id”)
将首选项重置为其默认值。

这很奇怪
我三天前在EclipseJFace论坛上问过同样的问题:
我只得到了与我的需求无关的答案。
答案是这是不可能的。此外,您不能将首选项的值或默认值设置为
“null”

在我的应用程序()中,需要“清理”支持
PersistenceStore
的文件,因为用户可能会存储大量可能在某个时间点过时的“键/首选项”。我想要一种从文件中“删除/删除”它们的方法,以使
首选项存储
文件尽可能紧凑。
我最终编写了自己版本的PreferenceStore,它公开了
PreferenceStore
使用的内部“属性”对象中的“remove”方法。这门课不是为满足我的需要而设计的。
代码是

我想删除首选项而不是重置为默认值?等等,这确实会删除它,谢谢greg。setToDefault名称有点误导。@SeanRoy Eclipse只存储不等于其默认值的首选项。这就是为什么重置和删除在这里是相同的。