设置CTabItem的标头宽度

时间:2012-02-17 14:22:32

标签: swt ctabitem

CTabItem的tab-header的宽度可以设置为任意吗?

Thnx提前!

亲切的, 马库斯

2 个答案:

答案 0 :(得分:1)

您可以尝试覆盖CTabItem,但此解决方案看起来不是很好的解决方案(不过我使用它):

CTabItem tabItem;

final int tabWidth = 90;

tabItem = new CTabItem( tabFolder, SWT.NONE ) {
    @Override
    public Rectangle getBounds( ) {
        Rectangle bounds = super.getBounds();
        bounds.x = 0 * tabWidth;
        bounds.width = tabWidth;
        return bounds;
    }
};
tabItem.setText( __lang.str( this, "Tab Item I" ) );

tabItem = new CTabItem( tabFolder, SWT.NONE ) {
    @Override
    public Rectangle getBounds( ) {
        Rectangle bounds = super.getBounds();
        bounds.x = 1 * tabWidth;
        bounds.width = tabWidth;
        return bounds;
    }
};
tabItem.setText( __lang.str( this, "Tab Item II" ) );

tabItem = new CTabItem( tabFolder, SWT.NONE ) {
    @Override
    public Rectangle getBounds( ) {
        Rectangle bounds = super.getBounds();
        bounds.x = 2 * tabWidth;
        bounds.width = tabWidth;
        return bounds;
    }
};
tabItem.setText( __lang.str( this, "Tab Item III" ) );

答案 1 :(得分:0)

不,你不能那样做。至少不是任何公开的API(阅读public methods)。 一种可能的解决方案是扩展CTabFolderCTabItem的代码。