Сложно сказать по вашему вопросу, но, похоже, вы пытаетесь добавить 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
}
});
}
});
Вместо этого вы должны добавить действие на панель инструментов. Это создаст кнопку на панели инструментов, которая соответствует стандартным кнопкам панели затмения. Это будет выглядеть примерно так:
Action myAction = new Action("", imageDesc) {
@Override
public void run() {
// Perform action
}
};
IToolBarManager toolBarManager = actionBars.getToolBarManager();
toolBarManager.add(myAction);