drawImage Problem und Applet not inited

Status
Nicht offen für weitere Antworten.
C

Chris_76

Gast
Hi,

habe ein Applet und lade dort zwei Images. Code siehe unten. Dies funktioniert aber nicht immer.
Manchmal lädt er sie und zeigt Sie an dann aber erfolgt auch mal garkeine Anzeige der Images, aber warum?
Oder anderes, lädt und zeigt man so in einem Applet Images an?

Code:
 /* Läd die Top-Logos in die Variabeln */
 private void loadLogos() 
 {
  pictureSchool = getImage(getCodeBase(),"Logo_schule.jpg");
  pictureLogo   = getImage(getCodeBase(),"Logo_agricola.jpg");
 }

 /* erstellt das oberste Panel mit den Logos */ 
 private void createLogoPanel()
 {
  loadLogos();
  logoPanel = new Panel(null) 
  {
   public void paint(Graphics g)
   {
    g.drawImage(pictureLogo, 875, 0, this);
    g.drawImage(pictureSchool,10, 0, this);
   }
  };
  logoPanel.setBounds(0, 0, 1000, 112);
  Label label = new Label("Mein Test");
  label.setBackground(Color.white);
  label.setForeground(new Color(3,106,185));
  label.setFont(new Font("Arial",Font.BOLD,30));
  label.setBounds(520, 30, 280, 40);       
  logoPanel.add(label);
  logoPanel.setBackground(Color.white);
  add(logoPanel);
 }

Problem Nummer zwei :
Applet not inted. Wenn ich es über den Reloadbutton des Browsers versuche funktioniert es, wieso?
Fehlerbeschreibung von Java :
java.lang.NoClassDefFoundError: GUI$1
at uControl.init(uControl.java:502)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

Dort steht doch das die Classe GUI$1 nicht gefunden wird, aber diese existiert definitiv.
Warum funktioniert es beim RELOAD einwandfrei?

Gruß Chris
 

L-ectron-X

Gesperrter Benutzer
Möglicherweise gibts Probleme, weil die Bilder im Programm noch nicht zur Verfügung stehen, weil sie gerade noch geladen werden. Probiers mal mit java.awt.MediaTracker.
 
C

Chris_76

Gast
Danke für den Tip.
Hatte inzwischen das Forum durchsucht und den MT eingebunden aber das hilft komischerweise nicht.
Eingebunden hab ich den so :

Code:
 /* erstellt das oberste Panel mit den Logos */ 
 private void createLogoPanel()
 {
  loadLogos();                                                       // Methode siehe erster Post von mir
  MediaTracker mt = new MediaTracker(this);
      mt.addImage(pictureSchool,0);
      mt.addImage(pictureLogo,1);
      try {
         //Warten, bis das Image vollständig geladen ist,
         mt.waitForAll();
      } catch (InterruptedException e) {
         //nothing
      }

  logoPanel = new Panel(null) 
  {
   public void paint(Graphics g)
   {
    g.drawImage(pictureLogo, 875, 0, this);
    g.drawImage(pictureSchool,10, 0, this);
    if (logopaint==true) 
    {
     repaint();
     logopaint=false;
    }
    
   }
  };
 ........
 .......
 add(logoPanel);
 }

So bindet man ihn doch ein, wenn ich das richtig verstehe. Der MT müsste doch das komplette Programm bei waitForAll() anhalten und wenn dann das ok geht es weiter, oder sehe ich das falsch?

Chris
 
C

Chris_76

Gast
Habe eine Lösung, hier nochmal die Zusammenfassung.

Problem :
Applet enthält 2 Bilder, welche in einem Appletviewer oder bei einem Aufruf des Applets lokal auf einem PC korrekt angezeigt werden. Sobald dieses Applet aber auf einem Webserver lag, zeigte es die Bilder nur sporadisch an, manchmal beide, manchmal eins und manchmal keines.
Desweiteren gab es beim starten des Applets immerwieder diese Fehlerbeschreibung in der Java-Konsole :
java.lang.NoClassDefFoundError: GUI$1
at uControl.init(uControl.java:502)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

Diese war verschwunden und das Applet wurde ausgeführt wenn man den Reloadbutton des Browsers drückte.

Ursache:
Wie ich ermittelt habe ist der Webserver mit seinen Übertraguns- und Zugriffszeiten auf Dateien gaaaanz langsam, sodaß das Applet startet aber noch nicht alle Klassen oder Bilder zur Verfügung stehen.

Lösung:
Den Mediatracker einsetzen (siehe angehängten Code). Damit wartet das Applet bis die Bilder vollständig geladen sind, und da dies ganz zu anfang des Applets geschieht, hat der Webserver auch Zeit die restlichen Klassen zu übertragen.

Code:
public Image LadeBild(String BildName)
		{
			Image bild;
			MediaTracker tracker;

			bild=getImage(getDocumentBase(),BildName);

			tracker = new MediaTracker(this);
			tracker.addImage(bild,0);
			try
			{
				tracker.waitForID(0);
			} catch (InterruptedException e) {}
			return bild;
		}
 

 /* erstellt das oberste Panel mit den Logos */ 
 private void createLogoPanel()
 {
  //loadLogos();
  pictureLogo=LadeBild("logoagricola.jpg");
  pictureSchool=LadeBild("logoschule.jpg");
  
  logoPanel = new Panel(null) 
  {
   public void paint(Graphics g)
   {    
    g.drawImage(pictureLogo, 875, 0, this);
    g.drawImage(pictureSchool,10, 0, this);
   }
  };
 ......
 ......
}

Was mich jetzt noch wundert, warum der Fehler mit dem im vorigen Post gezeigten Mediatrackeransatz scheiterte?
However....

Chris
 

L-ectron-X

Gesperrter Benutzer
Eine mögliche Lösung für das ganze Problem könnte sein, alle Klassen und Bilder in eine Jar-Datei zu legen, dann wird dem Start des Applets schon alles auf das Zielsystem geladen.
 
C

Chris_76

Gast
Vielleicht nur interessant :
Das habe ich ausgeschlossen, weil mein Webserver leider nur 5x64k zur Verfügung hat. :(
Und eine Datei maximal 64k haben darf, leider komme ich mit meinem Applet und den
2 Bildern in ein JAR-File gepackt über 64k.
Deshalb bleibt mir nur die Lösung die einzelnen class-Dateien über die 5 Speicherbereiche zu verteilen.

Aber da ich neugierig bin und erst seit 3Monaten mich mit Java beschäftigt habe,
hab ich mal ein JAR-File gebaut das nur ein Bild enthielt und angezeigt hat, es funktionierte wunderbar.

Trotzdem danke für Deine Hilfe und Tips

Chris
 

L-ectron-X

Gesperrter Benutzer
Das Einzige, was mir da jetzt noch einfällt, wäre, irgendwo auf einem Webserver die Webseite mit dem Applet bereitzustellen und auf dem begrenzten Speicher eine einzige Webseite mit einer automatischen Weiterleitung zum Webserver abzulegen.

Oder auch möglich: Die Bilder auf einen anderen Rechner auszulagern.
Das bringt aber den Nachteil mit sich, dass das Applet signiert werden muss und der Benutzer das Zertifikat akzeptieren muss, bevor er es benutzen kann.
 
C

Chris_76

Gast
Heyho,

leider beides aus organisatorischen Gründen nicht machbar :cry: .
Aber bis jetzt funktioniert meine Bilderladroutine von oben ohne Fehler :D ich hoffe das
dies auch so bleibt, weil sonst hab ich auch keine Ideen mehr und das Internet und die Java-Seiten
schreiben zu dem Thema immerwieder dasselbe.

Chris
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Applet drawImage gibt falsches bild aus Tools - Maven, Gradle, Ant & mehr 6
8u3631984 Problem auf Github mit Umstellung auf Spring 3 Tools - Maven, Gradle, Ant & mehr 4
H Maven dependency Problem ? Tools - Maven, Gradle, Ant & mehr 23
H Problem beim Verschieben der main-class -> A jni error has occured, please check... Tools - Maven, Gradle, Ant & mehr 9
I Problem: Maven import extern Lib Tools - Maven, Gradle, Ant & mehr 3
S Binding-Problem von Bibliotheken bei Deployment Tools - Maven, Gradle, Ant & mehr 0
L Apache Wicket problem Tools - Maven, Gradle, Ant & mehr 4
L Maven Encoding Problem bei Resourcen Tools - Maven, Gradle, Ant & mehr 3
C Git Problem Tools - Maven, Gradle, Ant & mehr 3
C Kleines Problem mit Maven und Resourcen. Tools - Maven, Gradle, Ant & mehr 3
R IntelliJ IDEA und Git - Problem Tools - Maven, Gradle, Ant & mehr 2
E Ant Problem mit Abhängigkeiten Tools - Maven, Gradle, Ant & mehr 2
GianaSisters Ant jUnit und Ant Problem Tools - Maven, Gradle, Ant & mehr 2
D [maven] problem mit konfiguration von cargo plugin Tools - Maven, Gradle, Ant & mehr 4
D [Maven] problem mit plugin - es fehlen "dubug informationen" Tools - Maven, Gradle, Ant & mehr 8
H Applet Problem mit Security Exception Tools - Maven, Gradle, Ant & mehr 3
M Maven Problem bei Ersetzung von POM-Properties Tools - Maven, Gradle, Ant & mehr 7
M Applet USB Stick Problem Tools - Maven, Gradle, Ant & mehr 3
D Firmen pom mit eigenem Releasezyklus - Problem Tools - Maven, Gradle, Ant & mehr 2
reibi Maven Problem eclipse_eclipse mit Installed JREs Tools - Maven, Gradle, Ant & mehr 6
F Problem beim Kompilieren ohne IDE Tools - Maven, Gradle, Ant & mehr 5
T Maven Problem by crearting a new project with "mvn archetype:create" Tools - Maven, Gradle, Ant & mehr 2
J Ant Ant Skript Problem mit generischen Datentypen Tools - Maven, Gradle, Ant & mehr 8
reibi Maven resources - Problem Tools - Maven, Gradle, Ant & mehr 4
S Webstart Problem beim Start von Webstart Tools - Maven, Gradle, Ant & mehr 4
H Java Applet Problem beim einbinden in HTML Tools - Maven, Gradle, Ant & mehr 3
G Webstart Problem mit Adressierung bei Laden von Datei aus jar (Webstart) Tools - Maven, Gradle, Ant & mehr 5
F Webstart JNLP Problem mit LIB Tools - Maven, Gradle, Ant & mehr 3
A Ant Problem mit classpath Tools - Maven, Gradle, Ant & mehr 8
T Problem mit Maven Assembly ... Tools - Maven, Gradle, Ant & mehr 6
S Problem bei Nutzung einer eigenen EJB in einem Servlet Tools - Maven, Gradle, Ant & mehr 2
V applet Java 1.6 -> 1.5 Problem ... wie mit Ant zu lösen? Tools - Maven, Gradle, Ant & mehr 7
E Java Applet - Double Buffering Problem (Flackern) Tools - Maven, Gradle, Ant & mehr 6
N Problem mit Ant Classpath und Junit: Relative Pfade Tools - Maven, Gradle, Ant & mehr 2
M Dringend: Sehr kompliziertes Applet Problem Tools - Maven, Gradle, Ant & mehr 4
H Problem mit einen Applet Tools - Maven, Gradle, Ant & mehr 5
G Problem beim deployen eines Applets Tools - Maven, Gradle, Ant & mehr 8
G Applet Security Problem Tools - Maven, Gradle, Ant & mehr 3
S Problem mit Webstart Tools - Maven, Gradle, Ant & mehr 5
zilti Problem mit Object-Tag Tools - Maven, Gradle, Ant & mehr 3
zilti Applet einbinden: Problem Tools - Maven, Gradle, Ant & mehr 6
N Problem mit Applets in HTML Seite integrieren Tools - Maven, Gradle, Ant & mehr 3
D JFileChooser Problem - Verzweifelt Tools - Maven, Gradle, Ant & mehr 4
G Problem mit JApplet bzw Applet Tools - Maven, Gradle, Ant & mehr 5
J Problem beim schreibenden Dateizugriff Tools - Maven, Gradle, Ant & mehr 7
R problem mit kollision von objekten Tools - Maven, Gradle, Ant & mehr 5
G 2 Problem mit dem ScrollPane Tools - Maven, Gradle, Ant & mehr 2
D Properties File FileInputStream Problem Tools - Maven, Gradle, Ant & mehr 2
B Permissions Problem mit zwei Applets Tools - Maven, Gradle, Ant & mehr 2
P Problem beim Senden einer Datei Tools - Maven, Gradle, Ant & mehr 5
E Problem mit signiertem Applet und Parametern Tools - Maven, Gradle, Ant & mehr 4
B Server Problem mit Applet start Tools - Maven, Gradle, Ant & mehr 8
V komisches Problem mit Eclipse - oberste Pixel verdeckt Tools - Maven, Gradle, Ant & mehr 3
U JTextPane Problem Tools - Maven, Gradle, Ant & mehr 15
M Applet JRE Versions Problem Tools - Maven, Gradle, Ant & mehr 3
G Problem mit dem schreiben von Datein auf einem Server Tools - Maven, Gradle, Ant & mehr 11
G Web start problem Tools - Maven, Gradle, Ant & mehr 9
X Problem mit Bilder laden Tools - Maven, Gradle, Ant & mehr 3
J Laufzeitumgebung wechseln --> Problem Tools - Maven, Gradle, Ant & mehr 5
D Problem bei der Ausgabe in einem Applet Tools - Maven, Gradle, Ant & mehr 3
T Java Applet - Problem mit Tastatur Abfrage Tools - Maven, Gradle, Ant & mehr 5
F PQ-Formel berechnen -> kleines Problem Tools - Maven, Gradle, Ant & mehr 3
G Mal wieder ein Problem mit Applet und Bildern. Tools - Maven, Gradle, Ant & mehr 3
P Grundsätzliches Problem, Applet aktutalisieren Tools - Maven, Gradle, Ant & mehr 2
R Gif Animation / Problem Tools - Maven, Gradle, Ant & mehr 4
D Applet Dateizugriff unter UNIX und TextListener Problem Tools - Maven, Gradle, Ant & mehr 19
D Problem beim einbinden von jar und class datei Tools - Maven, Gradle, Ant & mehr 8
R URL Problem Tools - Maven, Gradle, Ant & mehr 5
D Problem mit Applet Tools - Maven, Gradle, Ant & mehr 3
P Eclipse Problem beim JAR-erstellen Tools - Maven, Gradle, Ant & mehr 5
D problem beim auslesen von text aus einem textfeld... Tools - Maven, Gradle, Ant & mehr 15
J Problem mit Panel Tools - Maven, Gradle, Ant & mehr 2
L problem mit java plug-in Tools - Maven, Gradle, Ant & mehr 1
G Problem mit URL Tools - Maven, Gradle, Ant & mehr 3
S Problem: Bild im Applet wird 3-4 Mal geladen Tools - Maven, Gradle, Ant & mehr 5
B Applet: com.sun.deploy.security.BlockedException :-( Tools - Maven, Gradle, Ant & mehr 0
M Applet Applet legt Browser lahm Tools - Maven, Gradle, Ant & mehr 3
J Applet Aus anderer Browserinstanz Applet abfragen Tools - Maven, Gradle, Ant & mehr 2
P Linux Applet/Webstart Schriftunterschiede Tools - Maven, Gradle, Ant & mehr 3
E JMol -Applet Einbindung Tools - Maven, Gradle, Ant & mehr 0
T Applet Applet und IText wirft Incompatible magic value 1008813135 Fehler Tools - Maven, Gradle, Ant & mehr 6
P Applet Java Applet läuft im Browser nicht mehr (HTTPClient - NoClassDefFoundError) Tools - Maven, Gradle, Ant & mehr 3
P Applet Applet Signatur auf Server mit SSL-Zertifikat? Tools - Maven, Gradle, Ant & mehr 7
H Applet Applet wird nicht angezeigt Tools - Maven, Gradle, Ant & mehr 2
M Applet Applet funktioniert in Google Chrome nicht Tools - Maven, Gradle, Ant & mehr 2
O Applet "Anwendung kann nicht ausgeführt werden" Tools - Maven, Gradle, Ant & mehr 6
Q Applet Fehlermeldung bei Applet-Wechsel Tools - Maven, Gradle, Ant & mehr 4
T Daten per POST-Methode aus Java-Applet nach php-Script senden Tools - Maven, Gradle, Ant & mehr 3
R Applet friert Adresszeile des Firefox ein Tools - Maven, Gradle, Ant & mehr 2
K Applet als Jar-Datei in HTML einbinden Tools - Maven, Gradle, Ant & mehr 14
H Applet-Fehlermeldung Tools - Maven, Gradle, Ant & mehr 10
H Applet läuft nicht im Browser Tools - Maven, Gradle, Ant & mehr 3
Q Applet Applet läuft nicht im Browser Tools - Maven, Gradle, Ant & mehr 14
J Applet URL mittels TTS als Applet lesen lassen Tools - Maven, Gradle, Ant & mehr 40
F Applet verwischt, wenn Seite gescrollt wird Tools - Maven, Gradle, Ant & mehr 16
S Applet Applet mit C# öffnen: java.lang.SecurityException: Permission denied (WinXP) Tools - Maven, Gradle, Ant & mehr 8
J Applet-Quellcode einsehen Tools - Maven, Gradle, Ant & mehr 6
E Applet Applet und Datenbank Konzept Tools - Maven, Gradle, Ant & mehr 4
A Applet: Html Datei und Class Datei nicht im selben Verzeichnis Tools - Maven, Gradle, Ant & mehr 2
S Applet soll Textdatei von fremdem Server öffnen Tools - Maven, Gradle, Ant & mehr 8

Ähnliche Java Themen

Neue Themen


Oben