简体   繁体   English

GWT Java-设置字体样式

[英]GWT Java - set font style

I want to set the label style depending on certain input. 我想根据某些输入来设置标签样式。 I have found how to set the colour, font weight, font style, font size and indent. 我发现了如何设置颜色,字体粗细,字体样式,字体大小和缩进。 However, I can not find how to set the font family to, eg, "Arial". 但是,我找不到如何将字体系列设置为例如“ Arial”。

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);

I've seen issue with Widget#getElement()#setAttribute() in IE. 我已经在IE中看到Widget#getElement()#setAttribute()问题。 The better way is: 更好的方法是:

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

I've never tried font-family in this way. 我从来没有尝试过这种字体家族。 The general rule for getStyle().setProperty('camelCase','value') getStyle().setProperty('camelCase','value')的一般规则

camel-case becomes -> camelCase . camel-case变为-> camelCase

If you are changing so many properties, I would recommend defining a class in your CSS and applying this class to the label. 如果要更改许多属性,建议您在CSS中定义一个类,然后将该类应用于标签。

myWidget.addStyleName("label");

It's a much cleaner approach than hardcoding all values in your code. 与对代码中的所有值进行硬编码相比,这是一种更干净的方法。 For example, you can add rules to your CSS file to adjust these properties based on a screen size, and you won't have to touch your code. 例如,您可以将规则添加到CSS文件中,以根据屏幕大小调整这些属性,而无需触摸代码。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM