0

プログラムで設定ページを作成する必要があります。次のコードを初めてトリガーすると、すべてが期待どおりに機能します。

    IPreferencePage page = new NewPreferencePage(test);
    page.setTitle("First Title");

    PreferenceManager pm = PlatformUI.getWorkbench().getPreferenceManager();
    PreferenceNode node = new PreferenceNode("node." + nodeName, page);
    pm.addToRoot(node);

    Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow()
            .getShell();

    PreferenceDialog pd = new PreferenceDialog(shell, pm);
    pd.setPreferenceStore(Activator.getDefault().getPreferenceStore());

    pd.create();
    pd.open();

問題は、標準モード ([ウィンドウ] -> [設定]) から設定にアクセスしようとするとエラーが発生し、作成したノードが null になることです。また、このコードを 2 回以上トリガーすると、新しいノードが作成され、前のノードが設定リストに空白行として表示されます。

これをプログラムで作成する方法を説明するチュートリアルまたは詳細な情報が誰にでもあります。私はウェブで検索し、さまざまな方法を試しましたが、成功しませんでした。

または、メニューがトリガーされたときに標準の PreferenceDialog を変更する方法を誰かが知っている場合は、別の解決策を試すことができます。

この質問は、次の質問と似ています: Eclipse: create preference page programmaticallyですが、とにかく解決できませんでした。

ありがとう

4

1 に答える 1