1

CTabItem 的标签页眉的宽度可以任意设置吗?

提前谢谢!

亲切的问候,马库斯

4

3 回答 3

2

您可以尝试覆盖 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" ) );
于 2013-12-16T18:14:59.023 回答
0

不,你不能那样做。至少不是通过任何公开的 API(读取public methods)。一个可能的解决方案是扩展 和 的CTabFolder代码CTabItem

于 2012-02-29T07:10:25.443 回答
0

作为一种解决方法,您可以使用以下方法在标题中添加额外的空格String.format

cTabItem.setText(String.format("%-15s", orgTitle));

如果它的长度小于 15 个字符,这将在字符串的末尾添加额外的空格。

检查此以获取更多详细信息: https ://docs.oracle.com/javase/tutorial/essential/io/formatting.html

于 2021-08-23T13:42:54.530 回答