一千萬個為什麽

搜索

使用Eclipse Look的Eclipse RCP工具欄按鈕

在Eclipse中,使用ActionSets擴展點可輕松指定工具欄的按鈕。但是,當我需要以編程方式指定某些項目時,我無法獲得相同的外觀。我不相信這個框架使用了原生按鈕,但是到目前為止,我找不到與Eclipse外觀相匹配的正確配方。我想看看是否有人發現了正確的代碼片段來復制代碼中的這個功能。

最佳答案

從你的問題中很難分辨出來,但是這聽起來像你可能試圖向工具欄添加一個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);

轉載註明原文: 使用Eclipse Look的Eclipse RCP工具欄按鈕