gpt4 book ai didi

gwt - 究竟如何重写 CssResource

转载 作者:行者123 更新时间:2023-12-01 11:05:56 25 4
gpt4 key购买 nike

目前我有一个在 gwt 中使用 CssResource 的应用程序......

interface MyClientBundle extends ClientBundle{

@Source("images/one.png")
Image someImageThatAlwaysLooksTheSame();

@Source("images/two.png")
Image someImageThatDependingOnTheClientThemeChanges();

@Source("css/main.css")
MyCssResource css();

}

然后是CssResource接口(interface)

interface MyCssResource extends CssResource{

String someStyleThatNeverChanges();

String someStyleThatChangesDependingOnTheClient();

}

如果我覆盖 MyClientBundle 以创建名为 MyPinkThemedClientBundle 的接口(interface)

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 接口(interface)会继承其父类(super class)的支持 css 文件。如果不是这种情况,是否有可能实现能够扩展 CssResource 并仅覆盖您关心的类的效果,否则使用父类(super class)的支持 .css 文件?

最佳答案

我几乎完全遇到了这个问题。看完想出的解决方案the @Import example in the GWT documentation如下。在您的 MyPinkThemedClientBundle 中,您需要将 css() 方法定义为:

@Source({"main.css", "css/**mainPinkVersion**.css"})
MyCssResource css();

如果您只是覆盖已经定义的 CSS 条目,而不是创建任何需要在您的代码中访问的新条目,那么您将不需要 MyPinkCssResource 类型。

关于gwt - 究竟如何重写 CssResource,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5943895/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com