如何在GWT页面中显示java小程序?

如何在GWT页面中显示java小程序?,java,gwt,applet,gwt-ext,Java,Gwt,Applet,Gwt Ext,我可能在这里遗漏了一些简单的东西,但我在别处找不到答案。我只想在GWT代码中显示一个小程序 操作系统:Windows XP Java:JDK1.6.0_10 其他:GWT,GWT Ext 2.0.5 以下是小程序(显然简化了测试): 下面是调用它的代码: package foo.applet; import com.google.gwt.user.client.ui.HTML; import com.gwtext.client.widgets.Panel; public class Ap

我可能在这里遗漏了一些简单的东西,但我在别处找不到答案。我只想在GWT代码中显示一个小程序

操作系统:Windows XP Java:JDK1.6.0_10 其他:GWT,GWT Ext 2.0.5

以下是小程序(显然简化了测试):

下面是调用它的代码:


package foo.applet;

import com.google.gwt.user.client.ui.HTML;
import com.gwtext.client.widgets.Panel;


public class AppletPanel extends Panel 
{
public AppletPanel()
{
HTML小程序=新建HTML();
applet.setHTML(“”导入javax.swing无法解决”-抱歉,我不是GWT专家,但此错误是类路径类型的。听起来GWT无法找到JVM的rt.jar。

谷歌找到了。其中一个响应说:上一张海报是对的,shell无法处理Flash或小程序之类的嵌入式设备。用于在shell内部运行浏览器的SWT组件中存在一些限制。错误报告已与此问题关联,您可能希望关注它以备将来更新。”


看起来无法完成。

您正在尝试GWT编译小程序吗

这是行不通的,因为GWT编译(只是从Java到Javascript的转换)只支持少数Java库,当然不支持小程序

确保小程序不在GWT源路径上(将其移动到另一个包)


参考:

不要使用GWTCompiler编译小程序代码。我建议创建第二个只包含小程序代码的模块(或项目)。使用标准Javac编译器(或IDE/ant)将其编译到单独的JAR中


GWTCompiler使用Java库的一个子集,只应用于生成最终将作为Javascript运行的代码。

轻量级应用程序可能会混合使用GWT和JNLP。 然后我们可以把更大的罐子透明地放到人们的机器上。 例如,我希望使用Batik工具包或其他与SVG相关的工具在我的GWT应用程序中使用SVG,而不是被迫只使用png或其他光栅格式

  • 蒂罗-你也可以把你对这件事的想法寄到鲍勃那里给我。futrelle@gmail.com

我在研究
gwt
应用程序时发现了这一点,尽管这是一个旧线程,但我认为我会发布一个在gwt内部运行小程序的方法

首先创建两个不同的项目,一个用于applet,另一个用于
gwt
。 使小程序正常运行

jar你的小程序

然后用
jarsigner
.jar
签名

正常创建
gwt
模块

要嵌入小程序,我使用带有小程序标记的
gwt
HTML对象,如下所示:

(applet MAYSCRIPT code='com.myapplet.myapplet'id='myapplet'jnlp_href='/spplets/myapplet.jnlp',宽度=500,高度=400)(/applet)

只需将HTML小部件添加到contentPanel,gui部分就完成了

jar将需要加入gwt项目的/war中

除了
.jar
之外,您还需要编写一个
.jnlp
文件来启动小程序

这将在gwt中嵌入一个小程序,并在托管或生产模式下运行它。关键是对
.JAR
进行签名,然后使用
.JNLP
启动它


package foo.applet;

import com.google.gwt.user.client.ui.HTML;
import com.gwtext.client.widgets.Panel;


public class AppletPanel extends Panel 
{
public AppletPanel()
{
    HTML applet = new HTML();
    applet.setHTML("<applet name=\"HelloApplet\" code=\"HelloApplet.class\" width=\"300\" height=\"300\"" );
    this.add(applet);
}
        [ERROR] Errors in 'file:/C:/<blah>/applet/HelloApplet.java'
           [ERROR] Line 3: The import javax.swing cannot be resolved
           [ERROR] Line 4: The import java.awt cannot be resolved
           [ERROR] Line 6: JApplet cannot be resolved to a type
           [ERROR] Line 8: Graphics cannot be resolved to a type
           [ERROR] Line 11: The method getSize() is undefined for the type HelloApplet
           [ERROR] Line 12: The method getSize() is undefined for the type HelloApplet