Swing-komponenten in einem java.awt.applet ?

Moin

Ich will ein von der Klasse javax.swing.Component abgeleitets Objekt in einem „normalen“ java.awt.Applet verwenden.

Das akzeptiert aber weder der neue NS noch IE 5. Die swing-Klasen werden nicht erkannt, ein paar Exceptions werden geschmissen, dann ist Feierabend. (swing.JApplet geht schon gar nicht)

Kann man die swing-Klassen irgendwie in die jar-datei mit reinpacken ?
Kann man sie in den classpath stellen ? (z.b. http://xyz.xyz/javax_swing/…)
Oder kann man dem Compiler dazubringen dass er den gesamte Vererbungs-Baum in die class-datei packt ?

Ich bin für alle Vorschläge offen, brauch das Applet aber dringend…

Bitte …

Du musst die Klasse für das Applet nicht von java.awt.Applet ableiten, sondern von javax.swing.JApplet. so weit ich informiert bin, kann man in JApplets auch noch die normalen AWT-Komponenten verwenden.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Nein das wars nicht…

Du musst die Klasse für das Applet nicht von java.awt.Applet
ableiten, sondern von javax.swing.JApplet. so weit ich
informiert bin, kann man in JApplets auch noch die normalen
AWT-Komponenten verwenden.

…Im Applet-viewer geht das…

aber nicht auf den „normalen“ Browsern.

die scheinen garnichts zu verstehen was mit javax.swing zu tun hat. (getestet auf frisch installierten win98 Rechnern mit IE 5, resp. eine 2 Monate alte Linux-install)

Von JApplet ableiten war auch mein erster Versuch.

Danke trotzdem

ich bin zwar kein experte, aber die meisten normalen browser unterstützen nur java 1.1. da swing erst mit 1.2 eingeführt wurde, kann das applet nicht funktionieren. man kann bei sun aber entsprechende aktuellere plug-ins herunterladen, um das applet zum laufen zu bringen.

gruß

Schade, trotzdem thx. o.T.
o.T. heist ohne Text

Servus,

doch noch mal ein kleiner Nachschlag.

Es ist richtig, dass die meisten Browser nur Java 1.1 verstehen.
Swing ist ein Add On, das bei den Browsern zumeist installiert werden muss.

Prinzipiell gibt es dazu zwei Möglichkeiten:

  1. Schreiben einer Installationsroutine, die beim ersten Aufruf Swing installiert, wenn es der Browser noch nicht kennt.

  2. Du packst die von dir benutzten Swing Klassen zu deiner Anwendung, die dann zusätzlich mit heruntergeladen werden.

  3. Ist sicherlich die sauberere Möglichkeit. Es gibt da aber vermutlich Brwoserabhängige Unterschiede, ist ergo nicht so trivial.

  4. Ist ziemlich mühsam. Und kann die Ladezeit deines Applets extrem in die Länge ziehen.

Prinzipiell würde ich dir davon abraten, Swing in einem Applet zu nutzen.

Dirk

Also gibts doch eine Möglichkeit !

Servus,

doch noch mal ein kleiner Nachschlag.

Es ist richtig, dass die meisten Browser nur Java 1.1
verstehen.

Der Update vom IE 5 ist riesengross, und die bringen es noch nicht mal wertig die neue JVM mit rein zunehemen…

M$ sucks. (sorry, aber das musste mal sein.)

Swing ist ein Add On, das bei den Browsern zumeist installiert
werden muss.

Prinzipiell gibt es dazu zwei Möglichkeiten:

  1. Schreiben einer Installationsroutine, die beim ersten
    Aufruf Swing installiert, wenn es der Browser noch nicht
    kennt.

Das ist mir viel zu unsicher, und zuviel Aufwand.
Das Applet war nur als graphischer Gag ohne reele Funktion gedacht.

  1. Du packst die von dir benutzten Swing Klassen zu deiner
    Anwendung, die dann zusätzlich mit heruntergeladen werden.

Klingt schon viel besser, das verusch ich mal.

  1. Ist sicherlich die sauberere Möglichkeit. Es gibt da aber
    vermutlich Brwoserabhängige Unterschiede, ist ergo nicht so
    trivial.

du sagts es, spätestens bei mozilla & co wirds lustig.

  1. Ist ziemlich mühsam. Und kann die Ladezeit deines Applets
    extrem in die Länge ziehen.

wär eingentlich nicht so schlimm, ist für ein 100 Mbps Intranet gedacht.

Prinzipiell würde ich dir davon abraten, Swing in einem Applet
zu nutzen.

Die Animation ist nicht von mir, beruht aber auf swing. Ich hab also die Wahl zwischen neuschreiben oder swing-classen verpacken. Das letztere geht in meinem Fall wesentlich schneller.

vielen Dank, das hat wirklich geholfen. Mir war nicht klar das japplet’s noch nicht unterstützt werden.

Es gibt auf den Seiten von Sun Microsystems ein Programm, die ein Swing-Applet so einbinden, dass es in den Browsern funktioniert:
Der Link:
http://www.java.sun.com/products/plugin/1.3/converte…

Du benötigst aber JRE 1.3. Funkt auch unter Linux.
Lese dir die ganze Sche…e auf den Sunseiten mal durch
–> RTFM (du weißt schon was ich meine, oder :wink:

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

danke o.T.

–> RTFM (du weißt schon was ich meine, oder :wink:

klar