2014-04-20 56 views
1

我想根據某些輸入設置標籤樣式。我已經找到了如何設置顏色,字體重量,字體樣式,字體大小和縮進。但是,我找不到如何將字體系列設置爲例如「Arial」。GWT Java - 設置字體樣式

lblTaskName.getElement().getStyle().setColor("Navy"); 
lblTaskName.getElement().getStyle().setFontWeight(FontWeight.BOLD); 
lblTaskName.getElement().getStyle().setFontStyle(FontStyle.ITALIC); 
lblTaskName.getElement().getStyle().setFontSize(14.0, Unit.PT); 
lblTaskName.getElement().getStyle().setTextIndent(15.0, Unit.PT); 

回答

2

我在IE中看到Widget#getElement()#setAttribute()的問題。 更好的方法是:

myWidget.getElement().getStyle().setProperty("fontFamily", "Arial"); 

我從來沒有嘗試過FONT-FAMILY這個樣子。 getStyle().setProperty('camelCase','value')的一般規則爲

camel-case變爲 - >camelCase

+0

感謝賈馬這工作的一種享受。所以這是另一個讓我的文本看起來非常好的挑戰。當一行縮進文本長於它所包裹的小部件並在小部件容器的開始處繼續而不是直接在縮進文本下恢復。是否可以在縮進級別對齊文本(例如,從左邊緣起18px)?爲此,我需要設置左填充而不是縮進?問候,格林。 – Glyn

+1

對齊文本左側的解決方案是像這樣設置填充://設置縮進級別。 \t \t \t \t \t int indentLevel = Integer.parseInt(ymAwardDetails.getAdIndentLevel()); \t \t \t \t \t int indent = indentLevel * 18; \t \t \t \t \t lblTask​​Name.getElement()。getStyle()的。的setProperty( 「填充」, 「0像素」 + 「 」+「 0像素 」+「 」+「 0像素 」+「 」+縮進+「 PX」);.從實驗中我發現順序是頂部,右側,底部,左側。我希望這可以幫助別人。問候,格林。 @Andrei – Glyn

+0

Hi @Glyn,抱歉,我沒有機會閱讀您的評論和問題......但我很高興您找到了解決方案。如果您對答案有一個無關的問題,請將其作爲一個新問題,而不是在評論中提出。如果你這樣做,更多的人會看到這個問題,你會得到更快的答案。 :)希望這會有所幫助.. –

0

如果您要更改很多屬性,我會建議在CSS中定義一個類並將此類應用於標籤。

myWidget.addStyleName("label"); 

這是一個比在代碼中硬編碼所有值更簡潔的方法。例如,您可以將規則添加到CSS文件中,以根據屏幕大小調整這些屬性,而不必觸摸代碼。

+0

我同意CSS是一個更清潔的方法。但是,在讀入的每條文本行中,我還讀取了格式要求(例如,標題級別,縮進量)。因此,是否有可能做這樣的事情「//設置縮進級別 \t \t \t \t INT indentLevel =的Integer.parseInt(ymAwardDetails.getAdIndentLevel()); \t \t \t \t INT縮進= indentLevel * 18; \t \t \t \t lblTask​​Name.getElement()。getStyle()。setTextIndent(indent,Unit.PT);「在CSS中?問候,格林 – Glyn