在我的应用程序中,我有MyAppResources
,它将主要包含应用程序的自定义样式。我正在考虑将自定义样式应用于标准小部件(例如 CellTable)以及布局和自定义小部件上的自定义样式的好方法是什么?
我的问题:由于 MyAppResources 是一个单例(它不一定是,如其他帖子中所述),但CellTableResources
不是,并且CellTableResources
是此实例的成员,它也是一个接口也在扩展ClientBundle
,代理“CellTableResources”是否会成为在每个MyAppResources.INSTANCE.cellTableResources().foo()
?
如果是这样,我可以创建一个MyAppResources.CELLTABLE_RESOURCE_INSTANCE
来解决这个问题吗?或者即使有大量的调用,代理的创建也可以忽略不计MyAppResources.INSTANCE.cellTableResources().#
?
ClientBundle
其次,更多的是一个讨论问题:在这种情况下使用多个 s 的最佳实践是什么?我是否应该CellTableResources
单独使用(从 中删除它MyAppResources
),GWT.create(CellTableResources.class);
在需要它的小部件中使用(或使用像我一样的单例MyAppResources
)?
MyAppResources
:
public interface MyAppResources extends ClientBundle {
public static final MyAppResources INSTANCE = GWT.create(MyAppResources.class);
@Source("MyAppStyles.css")
public MyAppCssResource css();
public CellTableResources cellTableResources();
}
CellTableResources
:
public interface CellTableResources extends CellTable.Resources {
interface CellTableStyle extends CellTable.Style {
}
@Override
@Source({ CellTable.Style.DEFAULT_CSS, "CellTableStyles.css" })
CellTableStyle cellTableStyle();
@Source("green_light.png")
ImageResource getGreenLight();
//...
}
感谢您的阅读。