hab das Problem, dass die GUI meins Applets, wenn ich es in eclipse starte mittels der Start() Methode, angezeigt wird. Wenn ich das Applet dann in meine Website einbinde, wird die GUI nicht aufgebaut.
Java:
publicvoidrunApplet(String siteID,String containerID,StringUploadDirectory,String updatenoderf,String filename,String description,String majorversion,String overwrite,String thumbnails){// Legt alle Parameter aus dem JS-Aufruf in das Objekt ab.
jsPara.setSiteID(siteID);
jsPara.setContainerID(containerID);
jsPara.setUploadDirectory(UploadDirectory);
jsPara.setUpdatenoderef(updatenoderf);
jsPara.setFilename(filename);
jsPara.setDescription(description);
jsPara.setMajorversion(majorversion);
jsPara.setOverwrite(overwrite);
jsPara.setThumbnails(thumbnails);
thread =newThread(this);
thread.start();}publicvoidbuildGUI(){// Erstellt ein Panel.
panel =newPanel(newBorderLayout());this.setBackground(newColor(255,251,255));// Erstellt ein Label.
label =newLabel();// Übergibt dem Panel die ProgressBar und das Label.
panel.add(pb,BorderLayout.SOUTH);
panel.add(label,BorderLayout.NORTH);// Übergibt dem Applet-Frame das Panel.add(panel);// Macht das Panel sichtbar.setVisible(true);}@Overridepublicvoidrun(){// Erstellt die Gui für die ProgressBar.buildGUI();}
Dazu muss ich sagen, dass wenn ich die Initialisierung der GUI, in die Init Methode des Applets einbinde und sie somit vor ausführung darstellen lasse, funktionierts auch im Webbrowser.
schon klar das es normal ist, dass überhaupt was passiert. Aber wieso zeigt er mir die GUI im Webbrowser nur dann an wenn ich sie in der Init Methode Zeichnen lasse und nicht wenn ich sie in der aufzurufenden Methode erst erstellen lassen will?
Hab was weiteres rausgefunden. Wenn ich mir einen eigenständigen AWT-Frame erzeuge und dann dort alle reinlegen lasse, wird mir der Frame auch beim laden der runApplet-Methode angezeigt.
Ich verstehe die Welt nicht mehr, wieso will er mir meine ProgressBar nicht in dem Frame des Applet zeichnen?
Kann mir da keiner weiterhelfen?
Selber Code wie oben und es funktioniert, wenn ich den Browser verkleinere oder minimiere. Scheint also ein Problem des neu zeichnens zu sein. Wäre nett wenn man den Thread in den Swing AWT Bereich umlegen könnte, oder soll ich einen neuen aufmachen?
Ok Problem ist gelöst, das stichwort heiß validate(). Da normalerweise in der Init()-Methode wohl die einzelnen Components dem Container hinzugefügt und somit validiert werden, muss man das wenn man die init() beim aufbau der GUI auslässt sälbst tätigen.