- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图使用 Central Maven Repo 中的 MD 库只需下载 jar 并在 Eclipse 中使用普通的 Java 项目即可。
从 Central Maven Repo 我使用了 jar gwt-material因为它在编译过程中说我也需要 MD-jQuery-lib,所以我将该 jar 集成为 gwt-material-jQuery ,也是。
所以跟着你会发现
Addressbook2
) 具有 onModuleLoad()
-方法对于这么大的帖子,提前表示歉意。不知道如何包装得更紧凑。
因此,在 Eclipse 中运行和编译它现在可以与 GWT Development Mode with Jetty
一起使用。 ,集成MatDes-jQuery-Lib之后,但是当我在本地主机打开地址http://127.0.0.1:8888/Addressbook.html
时我只是得到一个没有内容的白色浏览器窗口,甚至无法打开开发工具。我是否在配置中遗漏了某些内容,或者代码不正确,我必须对其进行调整?
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.8.2//EN"
"http://gwtproject.org/doctype/2.8.2/gwt-module.dtd">
<module rename-to='addressbook'>
<inherits name='com.google.gwt.user.User'/>
<inherits name='com.google.gwt.user.theme.clean.Clean'/>
<inherits name='gwt.material.design.jquery.JQuery'/>
<inherits name='gwt.material.design.GwtMaterialDesignBasic'/>
<!-- Specify the paths for translatable code -->
<source path='client'/>
<source path='shared'/>
<entry-point class='addressbook.client.Addressbook2'/>
<!-- allow Super Dev Mode -->
<add-linker name="xsiframe"/>
<set-configuration-property name="CssResource.enableGss" value="true" />
<extend-property name="locale" values="de, en"/>
<set-property-fallback name="locale" value="en"/>
</module>
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.RootLayoutPanel;
import addressbook.client._2view.MainViewUIB;
public class Addressbook2 implements EntryPoint {
@Override
public void onModuleLoad() {
Window.alert("Hello, World!");
RootLayoutPanel.get().add(new MainViewUIB());
}
}
package addressbook.client._2view;
import com.google.gwt.core.client.GWT;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.Widget;
import gwt.material.design.client.resources.MaterialResources;
public class MainViewUIB extends Composite {
private static final MainViewUIBUiBinder uiBinder = GWT.create(MainViewUIBUiBinder.class);
interface MainViewUIBUiBinder extends UiBinder<Widget, MainViewUIB> {
}
public MainViewUIB() {
initWidget(uiBinder.createAndBindUi(this));
}
@UiField(provided = true)
MaterialResources res;
}
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
xmlns:m="urn:import:gwt.material.design.client.ui">
<ui:with type="gwt.material.design.client.resources.MaterialResources" field="res"></ui:with>
<m:MaterialPanel>
<m:MaterialIcon marginTop="120" iconType="POLYMER" iconSize="LARGE"/>
<m:MaterialLabel text="Hello MD World" fontSize="2em"/>
<m:MaterialLabel text="Start building now your gwt-material apps." fontSize="0.8em"/>
</m:MaterialPanel>
</ui:UiBinder>
这是我通过检查 chrome 页面得到的结果,我只在页面上得到一个元素:
<iframe id="addressbook" tabindex="-1" style="position: absolute; width: 0px; height: 0px; border: none; left: -1000px; top: -1000px;">
<script src="http://127.0.0.1:9876/addressbook/0A7EA82001E95E9BED1D0ABA0EF89DEF.cache.js"></script>
</iframe>
最佳答案
@UiField(provided = true)
MaterialResources res;
provided=true
表示 .ui.xml 不需要创建此资源,因为您将在调用 createAndBind 之前提供它。如果不这样做,可能会导致在尝试创建小部件时发生 NullPointerExceptions,这将导致该路径上没有任何内容可见。但是,您的 .ui.xml 中实际上似乎没有使用 res
(除了在 ui:with
中声明,这就像将其声明为变量),因此您可以删除该字段和指向它的 ui:with
。
关于java - 如何在没有 Maven 的情况下将 GWT 和 Material Design Library 结合起来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53646446/
我是一名优秀的程序员,十分优秀!