我正在将一个简单的CSS网格系统移植到GWT.我的CSS文件目前有.size1,.size2等类,我有一个CSS资源,看起来像 –
interface MyResource extends CSSResource {
@ClassName("size1")
String size1();
@ClassName("size2")
String size2();
// And so on
}
然而,我真正想要的是拥有如下的单一功能 –
String size(int size);
当在运行时将大小作为整数传递时,它将生成适当的类.这是需要的,因为我执行一些计算来确定javascript中窗口小部件可用/需要的实际空间,然后附加相应的类名.
这是GWT甚至可能实现的吗?
编辑:为了澄清,我可以像这样轻松地编写这样的方法 –
String size(int size) {
switch(size) {
case 1: return size1();
case 2: return size2();
... and so on
}
}
但是,MyResource是一个接口,它的实现由GWT在运行时生成.这意味着我无法将我的size方法添加到MyResource类型.所以我想我想要一种方法来为MyResource类添加自定义方法.
最佳答案 我认为你不应该尝试通过css文件解决这个问题,但如果你想在你的风格中有动态值,你应该通过myWidget.getElement().getStyle().setSomeCssMethod()在代码中设置这些值.或者在这种情况下,您似乎想要设置尺寸,如高度和宽度.对于大多数小部件,可以直接设置这些值.除非我遗漏了什么,你为什么要使用css类而不是直接在代码中设置它?