特定のページで設定ダイアログを開くにはどうすればよいですか? これを行うと、環境が開きます。デフォルトで最初のページのダイアログ:
OpenPreferencesAction action = new OpenPreferencesAction();
action.run();
設定ツリーから他のページを表示するように指示するにはどうすればよいですか?
特定のページで設定ダイアログを開くにはどうすればよいですか? これを行うと、環境が開きます。デフォルトで最初のページのダイアログ:
OpenPreferencesAction action = new OpenPreferencesAction();
action.run();
設定ツリーから他のページを表示するように指示するにはどうすればよいですか?
OpenPreferencesAction を拡張し、run() メソッドをオーバーライドして、開くページの ID を渡す独自のアクションを作成する必要があります。OpenPreferencesAction を見ると、run メソッドが次のようになっていることがわかります。
public void run() {
if (workbenchWindow == null) {
// action has been dispose
return;
}
PreferenceDialog dialog = PreferencesUtil.createPreferenceDialogOn(null, null, null, null);
dialog.open();
}
2 番目と 3 番目のパラメーターは、表示するページの ID とフィルター条件を決定します。
Eclipse RCP で設定ページ ダイアログを開きます (メニュー ボタンをクリックします)。
import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.jface.preference.PreferenceDialog;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.dialogs.PreferencesUtil;
import com_demo.PreferencePage.PreferencePage_Dialog;
public class Preferences_Dialog_cmd extends AbstractHandler {
@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
PreferenceDialog pref = PreferencesUtil.createPreferenceDialogOn(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(),PreferencePage_Dialog.ID , null, null);
if (pref != null)
pref.open();
return null;
}
}
public class PreferencePage_Dialog extends FieldEditorPreferencePage implements IWorkbenchPreferencePage
{
public static final String ID="custom_bill.PreferencePage_Dialog";
@Override
protected void createFieldEditors() {
//..........
}
@Override
public void init(IWorkbench workbench) {
setPreferenceStore(Activator.getDefault().getPreferenceStore());
}
}