Autor Thema: Fehler im Browser aber nicht im Appletviewer ?  (Gelesen 2572 mal)

Offline thorsten_w

  • Junior Mitglied
  • **
  • Beiträge: 60
  • Geschlecht: Männlich
Fehler im Browser aber nicht im Appletviewer ?
« am: 06.01.06 - 12:22:45 »
Hallo @All,

ich weiß ich bin hier nicht ganz richtig mit meiner Frage.
Aber vielleicht hat hier jemand eine Idee.


Ich habe ein Applet. In diesem gibt es die Klasse Optionbox, welche eine erweiterte Checkbox ist. Darin soll ein Item State Change bearbeitet werden.

Das sieht wie folgt aus:
Code
	public void itemStateChanged(ItemEvent e) {
		URL base = parent.getDocumentBase();

		String path = base.getPath();
		String file = base.getFile();
		

                                ......
	}

Wenn ich das ganze in einem Applet-Viewer starte, dann funktioniert es einwandfrei.
Wenn ich das Applet mit einem Browser (IE 6.0) starte, dann kommt diese Fehlermeldung:

Code
Microsoft (R) VM for Java, 5.0 Release 5.0.0.3802
==============================================
?  Hilfe
c  Löschen
f  abschließen
g  bereinigter Speicher
m  Speicherverwendung
q  verlassen
t  Thread-Liste
==============================================
Exception occurred during event dispatching:
java.lang.NoSuchMethodError: java/net/URL: method getPath()Ljava/lang/String; not found
	at de/applets/Optionbox.itemStateChanged
	at java/awt/Checkbox.processItemEvent
	at java/awt/Checkbox.processEvent
	at java/awt/Component.dispatchEventImpl
	at java/awt/Component.dispatchEvent
	at java/awt/EventDispatchThread.run

warum? Jemand eine Idee? Oder bin ich mal wieder zu blöd das zu checken?

Gruss Thorsten

PS: meine Entwicklungsumgebung ist Eclipse SDK Java 1.4.2

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: Fehler im Browser aber nicht im Appletviewer ?
« Antwort #1 am: 09.01.06 - 15:02:52 »
Ich kann es jetzt nicht mehr überpüfen, da die Dokus für so alte Releases nicht mehr verfügbar ist. Aber ich gehe davon aus, dass das JDK das die uralte MS JVM verwendet, die Methode getPath bei einer URL nicht kennt. Ähnliches gibt es auch bei der Klasse Vector. Ist aber nur eine Vermutung.

Kannst du einfach testen, in dem du mal in deinem Browser Java vom Java Plugin erledigen lässt. Diese MS JVM ist einfach nicht mehr state of the art.

Grüße

Ralf
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline Thomator

  • Senior Mitglied
  • ****
  • Beiträge: 353
  • Geschlecht: Männlich
Re: Fehler im Browser aber nicht im Appletviewer ?
« Antwort #2 am: 12.01.06 - 18:45:52 »
Hi,
also mir persönlich wäre es neu, dass Methoden von älteren JVM-Versionen nicht mehr vorhanden sind. Die werden doch nur als 'deprecated' gekennzeichnet, oder?

Ich habe in diesem Fall eigentlich eher das Gefühl, dass in dem verschiedenen Kontext der Inhalt der 'parent'-Variable verschiedene Objecte sind.

Lass Dir doch in beiden Fällen mal ausgeben, welche Klasse hinter dem parent-Object steckt.

@Ralf:
Bei der Klasse Vector ist das ähnlich: Du kannst in neueren Versionen der JVM auch noch die Methoden wie addElement() nutzen, obwohl es auch add() schon tut. Zumindest is in der Konsole ersichtlich, dass die JVM-Version 5.0 ist. Das ist nicht wirklich alt...

Oder hab ich hier was falsch verstanden?

Thomas
+++To be human is more important than to be important!+++

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Fehler im Browser aber nicht im Appletviewer ?
« Antwort #3 am: 12.01.06 - 21:03:08 »
So könntest du die Klasse herausfinden:
Mach mal:
Code
public void itemStateChanged(ItemEvent e) {
System.out.println("Class parent=" + parent.getClass().getName()); 
URL base = parent.getDocumentBase();

String path = base.getPath();
String file = base.getFile();


                                ......
}

Möglicherweise weitere Informationen hier (inklusive Workaround):
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4214785

Wofür brauchst du diese path und file Strings. Möglicherweise gibt es einen Workaround.
Es ist auf jeden Fall sehr merkwürdig.


« Letzte Änderung: 12.01.06 - 21:55:32 von kennwort »
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: Fehler im Browser aber nicht im Appletviewer ?
« Antwort #4 am: 13.01.06 - 07:34:49 »
@Thomas!

Ja das hast du oder möglicherweise auch ich falsch verstanden. Ich habe es so verstanden, dass es im Appletviewer aus der IDE vermutlich 1.4.2 geht und im IE mit der MS JVM die ja glaube ich noch nicht mal Java 2 sondern irgendwas mit 1.1 ist nicht geht. Also ist es z.B. beim Vector so, dass man addElement nehmen muß und nicht die mit Java 2 eingeführten Methoden.

Was du weiter schreibst, dass parent verschiedene Objekte sind, dass kann nicht sein, denn dann müsste er ja schon bei parent.getDocumentBase() scheitern. die Methoden getPath() sind ja von der Klasse URL

Eventuell kann Thorsten das mal klarstellen, damit man nicht raten muß.


Grüße

Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Fehler im Browser aber nicht im Appletviewer ?
« Antwort #5 am: 13.01.06 - 09:29:59 »
Da hab ich mich gestern verguckt und Verwirrung gestiftet.
Eigentlich müßtest du testen
Code
 
base.getClass().getName(); 
... und das ist bestimmt java.net.URL nur unterschiedlich implementiert.
Ich hab das Gefühl, dass dies etwas mit den von mir geposteten Link zur Bug-Datenbank zu tun hat.
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz