CTabItem 的标签页眉的宽度可以任意设置吗?
提前谢谢!
亲切的问候,马库斯
您可以尝试覆盖 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" ) );
不,你不能那样做。至少不是通过任何公开的 API(读取public methods
)。一个可能的解决方案是扩展 和 的CTabFolder
代码CTabItem
。
作为一种解决方法,您可以使用以下方法在标题中添加额外的空格String.format
:
cTabItem.setText(String.format("%-15s", orgTitle));
如果它的长度小于 15 个字符,这将在字符串的末尾添加额外的空格。
检查此以获取更多详细信息: https ://docs.oracle.com/javase/tutorial/essential/io/formatting.html