当前位置:  开发笔记 > 编程语言 > 正文

如何在GWT页面中显示java applet?

如何解决《如何在GWT页面中显示javaapplet?》经验,为你挑选了1个好方法。

我可能在这里遗漏了一些简单的东西,但我在其他地方找不到答案.我只是想在我的GWT代码中显示一个applet.

操作系统:Windows XP Java:JDK 1.6.0_10其他:GWT,GWT-Ext 2.0.5

这是applet(显然简化了测试):

package foo.applet;

import javax.swing.JApplet;
import java.awt.Graphics;

public class HelloApplet extends JApplet 
{
    public void paint(Graphics g) 
    {
        g.drawRect(0, 0, 
                   getSize().width - 1,
                   getSize().height - 1);
        g.drawString("Hello world!", 5, 15);
    }
}

这是调用它的代码:

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("

}

当我以托管模式启动应用程序时,jvm崩溃(与Sun提交事件1425130).

当我尝试编译GWT代码以在浏览器中运行时,我得到:

        [ERROR] Errors in 'file:/C://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

显然我缺少一些applet库,但是我已经浏览了jdk中的所有jar并尝试包含列出JApplet或awt的所有jar(plugin.jar,resources.jar,rt.jar,deploy.jar, javaws.jar).

此外,我很确定一旦我解决了这个问题,就会有另一个潜伏在它之后,但我会将其保存为另一个问题.

谢谢!


遗留应用程序不是applet - 它是一个胖客户端Swing应用程序.我们已经将其作为applet运行,因为我们的客户需要一个浏览器客户端,这是完成这项工作的最快方法.

我不知道GWT是否会接受JPanel解决方案 - 该应用程序不是以GWT可以解析的任何方式编写的 - 即它不使用GWT API,而是使用Swing API.AFAIK,将Swing与GWT混合的唯一方法是以applet方式.

我错过了什么吗?



1> Yoni Roit..:

您是否正在尝试GWT编译您的applet?

这不起作用,因为GWT编译(只是从Java转换为Javascript)只支持少数Java库,当然也不支持applet.

确保您的applet不在GWT源路径上(将其移动到另一个包).

参考:http://code.google.com/docreader/#p=google-web-toolkit-doc-1-5&s=google-web-toolkit-doc-1-5&t=RefJreEmulation

推荐阅读
携手相约幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有