Hallo,
ich möchte ein Applet schreiben, bei dem der Nutzer selbst die Anordnung (und Größe) der Komponenten (besser wahrscheinlich Panels) machen kann.
Hat hier schon mal jemand sowas gemacht (oder mindestens überlegt) und kann mir ein paar Tipps geben, worauf man dabei achten sollte?
Wie (oder wo?) speichere ich die Anordnung der Komponenten am besten ab?
Cu Rene
Hallo,
ich möchte ein Applet schreiben, bei dem der Nutzer selbst die
Anordnung (und Größe) der Komponenten (besser wahrscheinlich
Panels) machen kann.
Mit swing ist das kein Problem:
JDesktopPane und JInternalFrame stellen dir alles was du brauchst.
Die Komponenten baust du in JInternalFrames (funzen wie Frames) ein, die kommen in ein JDesktopPane (verhält sich auch wie Frame) und das JDesktopPane kommt in „voller“ Grösse auf die HTML-Seite. Damit kanns du auch den WindowsDesktop nachbauen wenn du unbedingt willst.
Hat hier schon mal jemand sowas gemacht (oder mindestens
überlegt) und kann mir ein paar Tipps geben, worauf man dabei
achten sollte?
Man brauch wie gesagt swing.
da aber M$ zu faul ist die frei erhältliche aktuelle Version der sun-JVM in sein Betriebssystem einzubauen läuft swing nicht auf windows-PC’s. (Auf XP läuft nicht mal java 1 ohne 30+ MB download) (Ich glaub der Prozess gegen M$ läuft noch) Neue Linux-Varianten haben’s teilweise vorinstalliert.
Bei internen Anwendungen (LAN) kanns du die Datei „src.jar“ die bei SDK 1.3 (2?) dabei ist mit in den codebase-Tag schreiben. IE und Netscape ziehen sich dann die Datei und benutzen die Klassendefinitionen aus der Datei (wenn ihre JVM’s noch die Sicherheitslöcher enthalten die in den ersten Versionen „coole“ Dinge erlaubten) . Die Datei hat ± 18 MB und muss evt. noch compiliert werden. Was Linux-Browser dann machen weis ich nicht.
Wie (oder wo?) speichere ich die Anordnung der Komponenten am
besten ab?
Auf dem Server.
Bau einen einfachen ftp-Client ins Applet und schick die komplette Konfig. zurück. Auf den Server von dem sie stammen dürfen Applets immer zurückgreifen (alle Ports, alle Server mit gleichem Namen). Die Identifizierung würd ich über eine Passwort-Abfrage machen.
noch besser wäre es alles (das Desktop) per ObjectStream zurückzuschreiben, aber ob das in der Praxis geht… (wenn du eine Klasse verbaus in nicht seri. ist kanns du’s gleich vergessen).
Theo. wären auch cookies möglich. Aber cookies sind auf 4 KB Grösse begrenzt. Jenachdem wieviel du machen willst…
Hallo,
danke erstmal.
Man brauch wie gesagt swing.
Wollte ich eigentlich umgehen, aber wahrscheinlich steht der zusätzliche Programmieraufwand in keinem Verhältnis zum zusätzlichen Downloadaufwand.
da aber M$ zu faul ist die frei erhältliche aktuelle Version
der sun-JVM in sein Betriebssystem einzubauen läuft swing
nicht auf windows-PC’s.
Auf meinem schon
, ich nutze noch den guten alten Netscape.
Auf dem Server.
Auch das wollte ich umgehen…
noch besser wäre es alles (das Desktop) per ObjectStream
zurückzuschreiben, aber ob das in der Praxis geht… (wenn du
eine Klasse verbaus in nicht seri. ist kanns du’s gleich
vergessen).
Theo. wären auch cookies möglich. Aber cookies sind auf 4 KB
Grösse begrenzt. Jenachdem wieviel du machen willst…
Kann man Cookies jetzt auch schreiben? Muß ich gleich mal nachsehen.
Cu Rene
Man brauch wie gesagt swing.
Wollte ich eigentlich umgehen, aber wahrscheinlich steht der
zusätzliche Programmieraufwand in keinem Verhältnis zum
zusätzlichen Downloadaufwand.
generel ja, aber bei Frames (Panels) in Applets würd ich es mir nochmal überlegen…
Auf dem Server.
Auch das wollte ich umgehen…
das umgehen heist die Sandbox zu umgehen… viel Spass.
Theo. wären auch cookies möglich. Aber cookies sind auf 4 KB
Grösse begrenzt. Jenachdem wieviel du machen willst…
Kann man Cookies jetzt auch schreiben? Muß ich gleich mal
nachsehen.
Die Cookies können vom Server auf Anfrage vom Applet erzeugt und verschickt werden. Das geht z.B. indem das Applet auf eine spezielle Log-out Seite verweist. In den Aufruf der Seite kann man eine cgi Anfrage einbauen (oder einen Post). Dass es mit Pearl geht weiss ich, aber nicht wie.
Direkt kann das Applet, soweit ich weis, keine Cookies ablegen. Wenns doch geht poste nochmal.
Cu