Comment afficher l'applet java à l'intérieur de GWT page?

Je suis probablement manquant quelque chose de simple ici, mais je ne peux pas trouver la réponse ailleurs. Je veux juste afficher une applet dans mon code GWT.

Système d'exploitation: Windows XP
Java: le JDK 1.6.0_10
Autres: GWT, GWT-Ext 2.0.5

Voici l'applet (évidemment simplifié pour les tests):

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);
    }
}

Voici le code appelant:


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);
}

}

Lorsque je lance l'application en mode hébergé, la machine se bloque (déposé incident 1425130 avec le Soleil).

Lorsque j'essaie de compiler le code GWT pour s'exécutant dans un navigateur, j'obtiens ceci:

        [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

Évidemment, je suis en manque quelques applet bibliothèque, mais j'ai grepped à travers tous les pots dans le jdk et essayé, y compris toutes celles qui liste JApplet ou awt (plugin.jar, resources.jar, rt.jar, deploy.jar, javaws.jar).

Aussi, j'en suis sûr, une fois que je résoudre ce problème, il y en a un autre qui rôde tout de suite après, mais je vais les garder pour une autre question.

Merci!


L'héritage de l'app n'est pas une applet - c'est un client lourd application Swing. Nous avons piraté qu'il fonctionne comme une applet parce que nos clients veulent un navigateur client et ce est la façon la plus rapide de le faire.

Je ne sais pas si GWT serait prêt à accepter la solution Composite - l'application n'est pas écrit en aucune façon que GWT peut analyser - c'est à dire qu'il n'est pas à l'aide de l'API GWT, c'est à l'aide de l'API Swing. Autant que je sache, la seule façon de mélanger le Swing avec GWT serait dans une applet de la mode.

Suis-je raté quelque chose?

OriginalL'auteur user9945 | 2009-01-02