1

Eclipse では、ActionSets 拡張ポイントを使用してツールバーのボタンを簡単に指定できます。ただし、プログラムでいくつかの項目を指定する必要がある場合、同じ外観にすることはできません。フレームワークがこれらのネイティブ ボタンを使用しているとは思えませんが、これまでのところ、Eclipse の外観に一致する適切なレシピを見つけることができません。この機能をコードで複製するための適切なスニペットを誰かが見つけたかどうかを確認したかったのです。

4

2 に答える 2

5

あなたの質問から判断するのは難しいですが、ツールバーに ControlContribution を追加して Button を返そうとしているようです。これにより、ツールバーのボタンが、説明しているようにネイティブ ボタンのように表示されます。これは次のようになります。

IToolBarManager toolBarManager = actionBars.getToolBarManager();
toolBarManager.add(new ControlContribution("Toggle Chart") {
    @Override
    protected Control createControl(Composite parent)
    {
        Button button = new Button(parent, SWT.PUSH);
        button.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
                // Perform action
            }
        });
     }
});

代わりに、ツールバーにアクションを追加する必要があります。これにより、標準の Eclipse ツールバー ボタンと一致するボタンがツールバーに作成されます。これは次のようになります。

Action myAction = new Action("", imageDesc) {
    @Override
    public void run() {
        // Perform action
    }
};

IToolBarManager toolBarManager = actionBars.getToolBarManager();
toolBarManager.add(myAction);
于 2009-01-13T14:43:47.197 に答える
2

ツールバーにプログラムでアクションを追加するために持っているコードの抜粋を入れていただけませんか? ApplicationActionBarAdvisorクラスでこれを行うと思いますか? 宣言的に追加するボタンとプログラム的に追加するボタンの外観に違いはないはずです。

于 2008-10-17T12:46:36.827 に答える