无法在GWT / GXT项目中加载模块入口点 [英] Unable to load module entry point in GWT/GXT Project
本文介绍了无法在GWT / GXT项目中加载模块入口点的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用GWT / GXT
我试图创建雷达图
这里是代码
public class Test实现EntryPoint {
public static boolean isExplorer(){
String test = Window.Location.getPath();
if(test.indexOf(pages)!= -1){
return false;
}
返回true;
}
@Override
public void onModuleLoad(){
RootPanel.get()。add(new ChartExmaple());
公共类ChartExmaple扩展LayoutContainer {
$ b $ private ChartModelExample示例= new RadarChart();
private命令updateCmd;
@Override
protected void onRender(Element parent,int index){
super.onRender(parent,index);
ContentPanel cp = new ContentPanel();
cp.setHeading(图表库);
cp.setFrame(true);
cp.setSize(700,350);
cp.setLayout(new BorderLayout());
BorderLayoutData centerData = new BorderLayoutData(LayoutRegion.CENTER);
centerData.setMargins(new Margins(0,5,0,0));
cp.add(getChart(),centerData);
add(cp,new MarginData(20));
$ b private LayoutContainer getChart(){
FieldSet fs = new FieldSet();
fs.setHeading(Opera Star);
fs.setLayout(new FitLayout());
String url =!Test.isExplorer()? ../../:;
url + =gxt / chart / open-flash-chart.swf;
图表图表=新图表(url);
chart.setBorders(true);
fs.add(图表,新的FitData(0,0,20,0));
updateCmd = new Command(){
public void execute(){
chart.setChartModel(example.getChartModel(5));
}
};
返回fs;
$ b b
$ b RadarChart.Java
public class RadarChart implements ChartModelExample {
@Override
public ChartModel getChartModel(int segments){
ChartModel cm = new ChartModel(Popularity,
font-size:12px; text-align:left;);
cm.setBackgroundColour(#f0f0f0);
RadarAxis ra = new RadarAxis();
ra.setMax(segments + 1);
ra.setStroke(2);
ra.setColour(#A1D4B5);
ra.setGridColour(#C0DEBF);
ra.setSpokeLabels(Ext,Web,Java,AJAX,PHP);
cm.setRadarAxis(ra);
AreaChart area = new AreaChart();
area.setFillAlpha(0.3f);
area.setColour(#ff9900);
area.setFillColour(#ff6600);
area.setLoop(true);
area.addValues(segments);
area.addValues(Random.nextInt(segments + 1));
area.addValues(Random.nextInt(segments + 1));
area.addValues(Random.nextInt(segments + 1));
area.addValues(Random.nextInt(segments + 1));
cm.addChartConfig(area);
返回厘米;
$ b $ p $错误
[错误] [测试] - 无法加载模块入口点类test.client.Test(详见相关异常)
[错误] [测试] - 未能从用户代理'Mozilla / 5.0(Windows NT 6.1; WOW64)AppleWebKit / 537.36(KHTML,如Gecko)Chrome / 34.0.1847.116 Safari / 537.36'加载127.0.0.1:58087
19:10:32.887 [错误] [测试]无法加载模块入口点类test.client.Test(详情请参阅关联的异常)
com.google.gwt.core。 client.JavaScriptException:(TypeError)@ com.extjs.gxt.ui.client.widget.ComponentHelper :: doAttachNative(Lcom / google / gwt / user / client / ui / Widget;)([Java对象:com.extjs.gxt .ui.client.widget.ContentPanel @ 676012820]):无法通过com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:249)
读取未定义
的属性'embedSWF'在com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvo ke(ModuleSpaceOOPHM.java:136)
位于com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:571)
位于com.google.gwt.dev.shell.ModuleSpace。 invokeNativeVoid(ModuleSpace.java:299)
位于com.google.gwt.dev.shell.JavaScriptHost.invokeNativeVoid(JavaScriptHost.java:107)
位于com.extjs.gxt.ui.client.widget。 ComponentHelper.doAttachNative(ComponentHelper.java)
at com.extjs.gxt.ui.client.widget.ComponentHelper.doAttach(ComponentHelper.java:21)
at com.extjs.gxt.ui.client。 widget.Container.attachChildren(Container.java:635)
at com.extjs.gxt.ui.client.widget.Container.onLayoutExcecuted(Container.java:497)
at com.extjs.gxt。 ui.client.widget.Container $ 1.handleEvent(Container.java:586)
at com.extjs.gxt.ui.client.widget.Container $ 1.handleEvent(Container.java:1)
at com.extjs.gxt.ui.client.event.BaseObservable.callListener(BaseObservable.java:178)
at com.extjs.gxt.ui.client.event.BaseObservable.fireEvent(Ba seObservable.java:86)
at com.extjs.gxt.ui.client.widget.Layout.layout(Layout.java:116)
at com.extjs.gxt.ui.client.widget。在com.extjs.gxt.ui.client.widget.Container.layout(Container.java:443)
处com.xtjs.gxt.ui处的Container.doLayout(Container.java:351)
。 client.widget.LayoutContainer.layout(LayoutContainer.java:246)
at com.extjs.gxt.ui.client.widget.Container.layout(Container.java:426)
at com.extjs。 gxt.ui.client.widget.LayoutContainer.layout(LayoutContainer.java:241)
at com.extjs.gxt.ui.client.widget.Container.onAttach(Container.java:479)
at com.google.gwt.user.client.ui.Widget.setParent(Widget.java:475)
,位于com.google.gwt.user.client.ui.Panel.adopt(Panel.java:127)
在com.google.gwt.user.client.ui.ComplexPanel.add(ComplexPanel.java:97)
在com.google.gwt.user.client.ui.AbsolutePanel.add(AbsolutePanel.java :97)
at test.client.Test.onModuleLoad(Test.java:24)
at sun.reflect.Native MethodAccessorImpl.invoke0(本地方法)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect。 Method.invoke(Unknown Source)
,位于com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:406)
位于com.google.gwt.dev.shell.OophmSessionHandler.loadModule (OophmSessionHandler.java:200)
,位于com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:526)
位于com.google.gwt.dev.shell.BrowserChannelServer.run (BrowserChannelServer.java:364)
at java.lang.Thread.run(Unknown Source)
< hr>
已编辑
public interface ChartModelExample {
public ChartModel getChartModel int段);
解决方案在我的HTML页面中包含了 swfobject.js
,并且错误消失了。
我已经从 gxt / samples / public / flash / swfobject.js
< hr>
确保你已经包含了 swfobject.js
和 open-flash-chart的位置.swf
是正确的。
更多信息请参见这个链接直到最后一节。
I am working on GWT/GXT
I trying to create radar Chart
Here is the Code
public class Test implements EntryPoint {
public static boolean isExplorer() {
String test = Window.Location.getPath();
if (test.indexOf("pages") != -1) {
return false;
}
return true;
}
@Override
public void onModuleLoad() {
RootPanel.get().add(new ChartExmaple());
}
}
public class ChartExmaple extends LayoutContainer {
private ChartModelExample example = new RadarChart();
private Command updateCmd;
@Override
protected void onRender(Element parent, int index) {
super.onRender(parent, index);
ContentPanel cp = new ContentPanel();
cp.setHeading("Charts Gallery");
cp.setFrame(true);
cp.setSize(700, 350);
cp.setLayout(new BorderLayout());
BorderLayoutData centerData = new BorderLayoutData(LayoutRegion.CENTER);
centerData.setMargins(new Margins(0, 5, 0, 0));
cp.add(getChart(), centerData);
add(cp, new MarginData(20));
}
private LayoutContainer getChart() {
FieldSet fs = new FieldSet();
fs.setHeading("Opera Star");
fs.setLayout(new FitLayout());
String url = !Test.isExplorer() ? "../../" : "";
url += "gxt/chart/open-flash-chart.swf";
final Chart chart = new Chart(url);
chart.setBorders(true);
fs.add(chart, new FitData(0, 0, 20, 0));
updateCmd = new Command() {
public void execute() {
chart.setChartModel(example.getChartModel(5));
}
};
return fs;
}
}
RadarChart.Java
public class RadarChart implements ChartModelExample {
@Override
public ChartModel getChartModel(int segments) {
ChartModel cm = new ChartModel("Popularity",
"font-size: 12px; text-align: left;");
cm.setBackgroundColour("#f0f0f0");
RadarAxis ra = new RadarAxis();
ra.setMax(segments + 1);
ra.setStroke(2);
ra.setColour("#A1D4B5");
ra.setGridColour("#C0DEBF");
ra.setSpokeLabels("Ext", "Web", "Java", "AJAX", "PHP");
cm.setRadarAxis(ra);
AreaChart area = new AreaChart();
area.setFillAlpha(0.3f);
area.setColour("#ff9900");
area.setFillColour("#ff6600");
area.setLoop(true);
area.addValues(segments);
area.addValues(Random.nextInt(segments + 1));
area.addValues(Random.nextInt(segments + 1));
area.addValues(Random.nextInt(segments + 1));
area.addValues(Random.nextInt(segments + 1));
cm.addChartConfig(area);
return cm;
}
}
Error
[ERROR] [test] - Unable to load module entry point class test.client.Test (see associated exception for details)
[ERROR] [test] - Failed to load module 'test' from user agent 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.116 Safari/537.36' at 127.0.0.1:58087
19:10:32.887 [ERROR] [test] Unable to load module entry point class test.client.Test (see associated exception for details)
com.google.gwt.core.client.JavaScriptException: (TypeError) @com.extjs.gxt.ui.client.widget.ComponentHelper::doAttachNative(Lcom/google/gwt/user/client/ui/Widget;)([Java object: com.extjs.gxt.ui.client.widget.ContentPanel@676012820]): Cannot read property 'embedSWF' of undefined
at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:249)
at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:136)
at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:571)
at com.google.gwt.dev.shell.ModuleSpace.invokeNativeVoid(ModuleSpace.java:299)
at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeVoid(JavaScriptHost.java:107)
at com.extjs.gxt.ui.client.widget.ComponentHelper.doAttachNative(ComponentHelper.java)
at com.extjs.gxt.ui.client.widget.ComponentHelper.doAttach(ComponentHelper.java:21)
at com.extjs.gxt.ui.client.widget.Container.attachChildren(Container.java:635)
at com.extjs.gxt.ui.client.widget.Container.onLayoutExcecuted(Container.java:497)
at com.extjs.gxt.ui.client.widget.Container$1.handleEvent(Container.java:586)
at com.extjs.gxt.ui.client.widget.Container$1.handleEvent(Container.java:1)
at com.extjs.gxt.ui.client.event.BaseObservable.callListener(BaseObservable.java:178)
at com.extjs.gxt.ui.client.event.BaseObservable.fireEvent(BaseObservable.java:86)
at com.extjs.gxt.ui.client.widget.Layout.layout(Layout.java:116)
at com.extjs.gxt.ui.client.widget.Container.doLayout(Container.java:351)
at com.extjs.gxt.ui.client.widget.Container.layout(Container.java:443)
at com.extjs.gxt.ui.client.widget.LayoutContainer.layout(LayoutContainer.java:246)
at com.extjs.gxt.ui.client.widget.Container.layout(Container.java:426)
at com.extjs.gxt.ui.client.widget.LayoutContainer.layout(LayoutContainer.java:241)
at com.extjs.gxt.ui.client.widget.Container.onAttach(Container.java:479)
at com.google.gwt.user.client.ui.Widget.setParent(Widget.java:475)
at com.google.gwt.user.client.ui.Panel.adopt(Panel.java:127)
at com.google.gwt.user.client.ui.ComplexPanel.add(ComplexPanel.java:97)
at com.google.gwt.user.client.ui.AbsolutePanel.add(AbsolutePanel.java:97)
at test.client.Test.onModuleLoad(Test.java:24)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:406)
at com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:200)
at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:526)
at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:364)
at java.lang.Thread.run(Unknown Source)
Edited
public interface ChartModelExample {
public ChartModel getChartModel(int segments);
}
解决方案 I have included swfobject.js
in my HTML page and the error is gone.
I have downloaded it from gxt/samples/public/flash/swfobject.js
Make sure you have included the swfobject.js
and the location of open-flash-chart.swf
is correct.
For more info follow this link till the last section.
这篇关于无法在GWT / GXT项目中加载模块入口点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文