为ToolBarManager添加自定义控件

在SWT中,通常使用ToolBarManager添加Action到工具栏,展示为Button。要添加如Combo或Text等控件,需要自定义ControlContribution或ContributionItem。本文介绍了两种方法:1)继承ControlContribution,创建 Combo 控件并添加到ToolBarManager;2)继承ContributionItem,创建包含多个按钮和Combo的组合控件,并添加到ToolBarManager。
摘要由CSDN通过智能技术生成
        ToolBarManager是对SWT的ToolBar控件的封装,用它可以省去对这些底层控件的关注,就像使用了TableViewer,就不需要再去关心TableItem这些繁琐的细节一样。
        在一般情况下我们都是向ToolBarManager里面添加Action,显示的效果就是一个Button。如果希望显示一个Combo或者Text这样的控 件,就不能向其中添加Action了,而且又不想使用ToolBar处理具体的ToolItem,以下是两种解决办法:
        第一种:
        构建自己的ControlContribution 就可以很容易的实现这样的功能。
        首先要继承ControlContribution类,实现其protected Control createControl(Composite parent)方法,在这个方法中构建自己希望的控件,只要是Control的子类就都可以,然后将其添加到ToolBarManager里面即可。
        以下即为在View的工具栏中添加自定义控件Combo

        第一步、新建类 ComboContribution,并继承ControlContribution类,然后实现其protected Control createControl(Composite parent)方法,在这个方法中构建Combo控件
     class  ComboContribution  extends  ControlContribution {

        
public ComboContribution(String id){
            
super(id);
        }


        @Override
        
protected Control createControl(Composite parent){
            Combo combo 
= new Combo(parent, SWT.READ_ONLY);
            combo.setItems(
new String[]"First""Secend""Third" });
            combo.addSelectionListener(
new SelectionListener(){

                
public void widgetDefaultSelected(SelectionEvent e) {
                    
// TODO Auto-generated method stub
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值