2012-05-14 93 views
1

我有一個固定大小的gwt按鈕。 我想在上面顯示一段文字,如果那段文字超出了按鈕的長度,我需要將它縮短並且最後加上「...」。我現在用下面的代碼:GWT - 根據字符的物理長度(不是字符數)分割字符串

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

我有這樣的按鈕列表,而這種做法導致,並非所有按鈕的文本具有相同的大小。

問題是,例如,10個字符「!」比「A」的10個字符短得多。

任何人都可以幫助我解決這個問題?

謝謝!

回答

3

快速的答案。嘗試使用HTML5/CSS3屬性。它正是這麼做的:

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

如果您需要做的是對非CSS3的瀏覽器,你需要做出某種虛假的。也許設置一個按鈕div的內容,用溢出隱藏的方式,並在右側放置一個浮動的「...」。但它更難...

+0

謝謝!我正在使用css3,我不知道這個屬性。出於某種原因,我仍然無法完成工作,但這只是一個開始。 – Blue

+0

太棒了!我應該嘗試直接用Firebug(在FireFox中)或內置的Chrome DOM編輯器(只需按F12)修改DOM。然後,當你得到它時,修改代碼以獲得相同的結果。我認爲將'text-overflow'應用於'button'和一個固定的'width'就足夠了。 – helios

0

您可以將樣式類添加到所有這些按鈕並修復它們的大小。 應該是這樣的:

首先,添加樣式類每個按鈕:

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

然後在CSS文件中添加一個匹配的風格:

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