String GWT-根据字符的物理长度(而不是字符数)拆分字符串

String GWT-根据字符的物理长度(而不是字符数)拆分字符串,string,gwt,String,Gwt,我有一个固定大小的gwt按钮。 我想在上面显示一个文本,如果文本超过了按钮的长度,我需要把它剪短,最后加上“…”。我现在使用以下代码: if(name.length() > 11){ //limiting the size of the text presented on the button name = name.substring(0,10)+"..."; } 我有一个这样的按钮列表,这种方法导致并非所有按钮的文本都具有相同的大小 例如,问题是10个字符的“!”比1

我有一个固定大小的gwt按钮。 我想在上面显示一个文本,如果文本超过了按钮的长度,我需要把它剪短,最后加上“…”。我现在使用以下代码:

if(name.length() > 11){
    //limiting the size of the text presented on the button
    name = name.substring(0,10)+"...";
}
我有一个这样的按钮列表,这种方法导致并非所有按钮的文本都具有相同的大小

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

有人能帮我解决这个问题吗


谢谢

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

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

    Button button = new Button();
    button.addStyleName("buttonSizeStandard");
然后在css文件中添加匹配的样式:

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

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


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

谢谢!我正在使用css3,我不知道这个属性。出于某种原因,我仍然不能让它工作,但这是一个开始。太好了!我应该尝试直接使用Firebug(在FireFox中)或内置Chrome DOM编辑器(只需按F12键)修改DOM。然后,当您得到它时,修改代码以获得相同的结果。我认为对
按钮应用
文本溢出
和固定的
宽度
就足够了。