【发布时间】:2017-08-18 10:41:06
【问题描述】:
我正在使用一个小的 JFace 首选项存储,我可以在其中直接添加首选项,但是当我想删除我放入的其中一个首选项时遇到了麻烦。
我在 API 中看不到任何允许删除的内容。这样做的正确方法是什么?
【问题讨论】:
标签: java eclipse swt eclipse-rcp jface
我正在使用一个小的 JFace 首选项存储,我可以在其中直接添加首选项,但是当我想删除我放入的其中一个首选项时遇到了麻烦。
我在 API 中看不到任何允许删除的内容。这样做的正确方法是什么?
【问题讨论】:
标签: java eclipse swt eclipse-rcp jface
假设您使用IPreferenceStore,您调用setToDefault("pref id") 将首选项重置为其默认值。
【讨论】:
这很奇怪!
3 天前,我在 eclipse JFace 论坛上问过同样的问题:https://www.eclipse.org/forums/index.php/t/1088245
我只得到了与我的需要无关的答案。
答案是不可能的。您也不能将首选项的值或默认值设置为"null"
在我的应用程序 (JMSToolBox) 中,需要“清理”支持PersistenceStore 的文件,因为用户可能会存储很多在某个时间点可能会过时的“键/首选项”。我想要一种从文件中“删除/删除”它们的方法,以使PreferenceStore 文件尽可能紧凑。
我最终编写了我自己的 PreferenceStore 版本,它从PreferenceStore 使用的内部“Properties”对象中公开了“remove”方法。这门课不是为了满足我的需要而设计的。
代码是here
【讨论】: