GWT - 根据字符物理长度(不是字符数)分割字符串

时间:2012-05-14 10:10:54

标签: string gwt

我有一个固定大小的gwt按钮。 我想在其上显示一个文本,如果该文本超过按钮长度,我需要缩短它并将“...”放在最后。我现在使用以下代码:

if(name.length() > 11){
    //limiting the size of the text presented on the button
    name = name.substring(0,10)+"...";
}

我有一个这样的按钮列表,这种方法导致并非所有按钮的文本都具有相同的大小。

问题是,例如,10个字符“!”比“A”的10个字符短得多。

任何人都可以帮我解决这个问题吗?

谢谢!

2 个答案:

答案 0 :(得分:3)

快速回答。尝试使用HTML5 / CSS3属性。它完全是这样的:

http://www.w3schools.com/cssref/css3_pr_text-overflow.asp

如果您需要为非CSS3浏览器执行此操作,则需要进行某种伪造。也许设置一个按钮div内容,溢出隐藏,并在右侧放置一个浮动的“...”。但它更难......

答案 1 :(得分:0)

您可以为所有这些按钮添加样式类并修复其大小。 应该是这样的:

首先,将样式类添加到每个按钮:

    Button button = new Button();
    button.addStyleName("buttonSizeStandard");

然后在css文件中添加匹配样式:

    .buttonSizeStandard{ 
         width: 200px;      //change 200 to whatever 
    }