Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
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:
public void runApplet(String siteID, String containerID,
String UploadDirectory, 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 = new Thread(this);
thread.start();
}
public void buildGUI() {
// Erstellt ein Panel.
panel = new Panel(new BorderLayout());
this.setBackground(new Color(255, 251, 255));
// Erstellt ein Label.
label = new Label();
// Ü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);
}
@Override
public void run() {
// 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.