PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Falsche Darstellung als Applet.



Lin728
11-09-2003, 18:12
Ich habe ein Applet bei dem ich den gesamten Inhalt durch Applet.removeAll() (Applet ist ja von Frame abgeleitet) entferne und dann mit add neuen hinzufüge.

Wenn ich das Applet jetzt von Frame ableite (also quasi eine ganz normale Java-Applikation) funktioniert alles wunderbar, bis auf, dass die Anfangsgröße des Frame viel zu klein ist (30x30 Pixel oder so).
Als Applet stimmt schon einmal das erste Layout nicht, und wenn ich dann eine neue "Seite" in das applet einfüge, wird diese total verschoben.

Natürlich habe ich wieder ein hässliches Bildchen angehängt.

mfg

axeljaeger
11-09-2003, 18:36
Hm, du scheinst lightweight mit Heavyweightcontrolls zu mischen. Das sollte man nicht tun. Wenn du eine Applikation schreiben willst, die sich auch als Applet starten lässt, solltest du von Applet erben und dann, wenn als Applikation gestartet wird, in einen JFrame dein JApplet einbetten. JApplet erbt ja auch von JComponent.

Lin728
11-09-2003, 18:47
Genau das mache ich auch! Ich erbe von Applet und wenn als Application gestartet wird stopfe ich das applet in ein Frame.

Außerdem ist mischen von Light und Heavyweight-Komponenten nur verpönt, wenns um Swing geht. Ich muss das allerdings in AWT machen, und da hab ich nicht viele Möglichkeiten.

lg

axeljaeger
12-09-2003, 14:08
Klar ist dir damit noch nicht geholfen, aber ich brauch halt ein paar Informationen: Ist es nicht so, das Heavyweight AWT und Lightweight Swing ist?

Lin728
12-09-2003, 15:20
Es stimmt schon dass Swing Lightweight und AWT Heavyweight ist, aber das man beide nicht mischen sollte, trifft nur dann zu, wenn man SWING verwendet.
Ich muss zu Java-1.1 kompatibel bleiben, somit muss ich AWT-Elemente nutzen.
Widgets, die AWT nicht hat, muss ich also selber machen.


Ich habe vergessen ein validate mit dem Applet-Container selbst zu machen, ich habe immer nur den Container im Applet revalidated....

Naja, jetzt funtzt sogar auf MS-JVM, Netscape Java-1.1.5, IBM-1.1.8 und natürlich Sun-1.1.8+

lg