gpt4 book ai didi

css - gwt使用CssResource抛出异常“没有可用的源代码你忘记继承了一个必需的模块吗

转载 作者:行者123 更新时间:2023-11-28 17:48:47 25 4
gpt4 key购买 nike

我构建了 gwt 应用程序,我想将 css 添加到我的应用程序中我知道我可以像这样添加样式

setStyleName("style")

但这是一个糟糕的选择我想用更好的方法我想使用 CssResource 类所以我找到了这个指南 http://hcklab.blogspot.co.il/2011/02/classes-uibinder-and-css-gwt.html

我写这门课

public interface ResourceBundle extends ClientBundle
{
public static final Resources INSTANCE = GWT.create(ResourceBundle.class);

public interface Resources extends ClientBundle {
@Source("style.css")
CommonsCss commonsCss();
}
public interface CommonsCss extends CssResource {
String toolBarButton();
}
}

我有 style.css 文件和我的 css在我的代码中我写了

ResourceBundle.INSTANCE.commonsCss().ensureInjected();
setStyleName(ResourceBundle.INSTANCE.commonsCss().toolBarButton());

但是我得到这个错误java.util.ResourceBundle 类型没有可用的源代码;您是否忘记继承所需的模块?我需要做什么来解决它?谢谢

最佳答案

您的元素中可能有一些未使用的导入。

java.util.ResourceBundle

在元素中找到它并从客户端代码中删除它。


-- 编辑--

示例代码:(所有文件都放在同一个包中)

import com.google.gwt.resources.client.ClientBundle;
import com.google.gwt.resources.client.CssResource;

public interface LoginResources extends ClientBundle {
public interface MyCss extends CssResource {
String blackText();

String redText();

String loginButton();

String box();

String background();

}

@Source("Login.css")
MyCss style();
}

import com.google.gwt.core.client.GWT;
import com.google.gwt.dom.client.Style.VerticalAlign;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.uibinder.client.UiTemplate;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.Widget;

public class Login extends Composite {

private static LoginUiBinder uiBinder = GWT.create(LoginUiBinder.class);

/*
* @UiTemplate is not mandatory but allows multiple XML templates to be used for the same
* widget. Default file loaded will be <class-name>.ui.xml
*/
@UiTemplate("Login.ui.xml")
interface LoginUiBinder extends UiBinder<Widget, Login> {
}

@UiField(provided = true)
final LoginResources res;

public Login() {
this.res = GWT.create(LoginResources.class);
res.style().ensureInjected();
initWidget(uiBinder.createAndBindUi(this));

completionLabel1.getElement().getStyle().setVerticalAlign(VerticalAlign.BOTTOM);
}

@UiField
TextBox loginBox;

@UiField
TextBox passwordBox;

@UiField
Label completionLabel1;

@UiField
Label completionLabel2;

}

登录.css

.blackText {
font-family: Arial, Sans-serif;
color: #000000;
font-size: 11px;
text-align: right;
}

.redText {
font-family: Arial, Sans-serif;
color: #ff0000;
font-size: 11px;
text-align: left;
}

.loginButton {
border: 1px solid #3399DD;
color: #FFFFFF;
background: #555555;
font-size: 11px;
font-weight: bold;
margin: 0 5px 0 0;
padding: 4px 10px 5px;
text-shadow: 0 -1px 0 #3399DD;
}

.box {
border: 1px solid #AACCEE;
display: block;
font-size: 12px;
margin: 0 0 5px;
padding: 3px;
width: 203px;
}

.background {
background-color: #999999;
border: 1px none transparent;
color: #000000;
font-size: 11px;
margin-left: -8px;
margin-top: 5px;
padding: 6px;
}

登录.ui.xml

<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
xmlns:gwt='urn:import:com.google.gwt.user.client.ui' xmlns:res='urn:with:com.gwt.test.client.LoginResources'
xmlns:p='urn:import:com.gwt.test.client'>
<ui:with type="com.gwt.test.client.LoginResources" field="res">
</ui:with>
<gwt:HTMLPanel>
<div align="center">
<gwt:VerticalPanel res:styleName="{res.style.background}">
<gwt:Label text="Login" res:styleName="{res.style.blackText}" />
<gwt:TextBox ui:field="loginBox" res:styleName="{res.style.box}" />
<gwt:Label text="Password" res:styleName="{res.style.blackText}" />
<gwt:PasswordTextBox ui:field="passwordBox"
res:styleName="{res.style.box}" />
<gwt:HorizontalPanel verticalAlignment="middle">
<gwt:Button ui:field="buttonSubmit" text="Submit"
res:styleName="{res.style.loginButton}" />
<gwt:CheckBox ui:field="myCheckBox" />
<gwt:Label ui:field="myLabel" text="Remember me"
res:styleName="{res.style.blackText}" />
</gwt:HorizontalPanel>
<gwt:Label ui:field="completionLabel1" res:styleName="{res.style.blackText}" />
<gwt:Label ui:field="completionLabel2" res:styleName="{res.style.blackText}" />
</gwt:VerticalPanel>
</div>
</gwt:HTMLPanel>
</ui:UiBinder>

快照

enter image description here

关于css - gwt使用CssResource抛出异常“没有可用的源代码你忘记继承了一个必需的模块吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22721981/

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