В настоящее время у меня есть приложение, использующее CssResource в gwt, как это ...
interface MyClientBundle extends ClientBundle{
@Source("images/one.png")
Image someImageThatAlwaysLooksTheSame();
@Source("images/two.png")
Image someImageThatDependingOnTheClientThemeChanges();
@Source("css/main.css")
MyCssResource css();
}
А затем интерфейс CssResource
interface MyCssResource extends CssResource{
String someStyleThatNeverChanges();
String someStyleThatChangesDependingOnTheClient();
}
Если я переопределю MyClientBundle для создания и интерфейса под названием MyPinkThemedClientBundle
interface MyClientBundle extends ClientBundle{
@Source("images/one.png")
Image someImageThatAlwaysLooksTheSame();
@Source("images/**twoPinkVersion**.png")
Image someImageThatDependingOnTheClientThemeChanges();
@Source("css/**mainPinkVersion**.css")
MyPinkCssResource css();
}
Тогда, конечно, MyPinkCssResource расширяет MyCssResource
interface MyPinkCssResource extends MyCssResource{
}
Проблема, с которой я столкнулся, заключается в том, что когда я пытаюсь скомпилировать это, компилятор GWT жалуется на то, что в "css / mainPinkVersion.css" отсутствует имя стиля "someStyleThatNeverChanges". Я бы подумал, что интерфейс cssresource унаследует файл поддержки css своего суперкласса. Если это не так, возможно ли достичь эффекта расширения CssResource и переопределения только тех классов, которые вам нужны, но в противном случае используйте файл поддержки .css суперклассов?