我正在尝试使用JFace PreferencePage类创建一些首选项页面。我创建了两个使用相同商店的单独页面,但我无法获得各个页面的首选项。
在以下代码段中,我创建了我的首选项管理器,存储并启动对话框。
private void launchPrefsDialog(final Composite parent) throws IOException
{
PreferenceManager manager = new PreferenceManager();
PreferenceStore store = new PreferenceStore(UI_PREFERENCES_ID);
// Load the preferences
try
{
store.load();
}
catch (IOException e)
{
Logger.logWarning(TAG, e.getMessage());
}
// Add the language preferences to the preferences manager
PreferenceNode languagePreferences = new PreferenceNode("Languages", new LanguagePreferencePage(parent));
PreferenceNode ignoreDirPreferences = new PreferenceNode(IGNORE_DIRECTORIES_PREFERENCE_PAGE_ID, new IgnoredDirectoriesPreferencePage(parent));
manager.addToRoot(languagePreferences);
manager.addToRoot(ignoreDirPreferences);
// Create a new preference dialog and load in the preference file
PreferenceDialog dialog = new PreferenceDialog(null, manager);
dialog.setPreferenceStore(store);
// Open the dialog
int returnCode = dialog.open();
if (returnCode == Window.OK)
{
save(returnCode, store);
}
}
在页面中,我实际上可以获得我添加的个人偏好,但我想获得该页面的首选项列表。我一直在尝试使用IpreferenceStore,但实际上我不知道应该做什么。任何帮助都会很棒。
IPreferenceStore store = getPreferenceStore();