applet Methode aus abstrakter Klasse aufrufen

helene

Mitglied
Hallo,

ich habe ein Applet, indem eine abstrakte Klasse implementiert wurde. Nun möchte ich in dieser abstrakten Klasse auf die Funktion
Code:
getCodeBase()
zugreifen.

Da diese Funktion in der Klasse java.applet.Applet implementiert wird, kann ich sie in meiner abstrakten Klasse nicht aufrufen. Wie kann ich dies dennoch schaffen. Hat jemand eine Idee?

Vielen Dank im voraus.
 

L-ectron-X

Gesperrter Benutzer
Ich weiß nicht, ob ich dich jetzt richtig verstanden habe...
Du hast eine Klasse, die von Applet erbt und darin eine innere abstrakte Klasse?

Schreib am besten gleich mal dazu, was du eigentlich machen möchtest.
 

helene

Mitglied
Ich habe eine Applikation als Applet umgewandelt. Die Applikation ist so aufgebaut, daß eine main Klasse mein Gui Fenster aufruft. In diesem Gui Fenster kann ein Ablaufdiagramm gezeichnet werden, welches gespeicher werden kann. Über einen Menüpunkt kann eine Hilfedatei aufgerufen werden.
Für mein Applet habe ich die main Klasse von JApplet erben lassen. In der Gui Klasse habe ich nun beim Punkt Hilfedatei aufrufen eine AbstractAction Methode. Ich poste mal den code

Java:
/**
	* Aktion des Menuepunktes "Hilfethemen"
	 * @param url 
	*/
	private AbstractAction getThemenAction() {
		if(themenAction == null) {
			themenAction = new AbstractAction("Hilfethemen", null) {
				public void actionPerformed(ActionEvent evt) {
					try{
								URL page;
								page = new URL(getCodeBase(), "/Hilfethemen/index);
								getAppletContext().showDocument(page);
					} catch (MalformedURLException ex){
					}
					
				}
			}
		return themenAction;
		}
	}

Gibt es bei einem Applet keine abstrakten Klassen?
 

L-ectron-X

Gesperrter Benutzer
Über einen Menüpunkt kann eine Hilfedatei aufgerufen werden.
Kann mich erinnern, da habe ich dir bereits geholfen.

Gibt es bei einem Applet keine abstrakten Klassen?
Doch, gibt es. Applets bestehen auch nur aus Java-Code und unterwerfen sich den allgemeinen Regeln.

Möglicherweise ist dein Code fehlerhaft. Wenn du die Fehlermeldung mit gepostet hättest, wären wir hier viel schneller fertig.

Ich habe deinen Code berichtigt:
Java:
  /**
    * Aktion des Menuepunktes "Hilfethemen"
    */
    private AbstractAction getThemenAction() {
        if(themenAction == null) {
            themenAction = new AbstractAction("Hilfethemen") { //wenn ohne Icon
                public void actionPerformed(ActionEvent evt) {
                    try {
                         URL page = new URL(getCodeBase(), "/Hilfethemen/index.html"); //URL muss vollständig sein
                         getAppletContext().showDocument(page);
                    } catch (MalformedURLException ex) {
                         ex.printStackTrace(); //Exceptions niemals unbehandelt lassen!
                    }                    
                }
            }; //Anweisung abschließen nicht vergessen
        }
        return themenAction;
    }

Geht es damit?
 

helene

Mitglied
Leider nicht.
Entschuldigung, daß ich die Fehlermeldung nicht gleich mit angegeben habe. Hier ist sie:

Exception in thread "AWT-EventQueue-1" java.lang.NullPointerException
at java.applet.Applet.getCodeBase(Unknown Source)
at frame.GUIJFrame$14.actionPerformed(GUIJFrame.java:591)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

Die Hilfedateien habe ich in einem Ordner Hilfethemen im /bin Verzeichnis.
 

L-ectron-X

Gesperrter Benutzer
Ups, sorry, ich habe noch einen Fehler übersehen und ihn nachträglich korrigiert.
Bitte noch mal den obigen Code ausprobieren.

at java.applet.Applet.getCodeBase(Unknown Source)
Deutet auf eine unbrauchbare URL hin. Hast du die bereits korrigiert?
Wenn die URL nicht initialisiert werden konnte bleibt sie null und es wird beim Zugriff eine NullPointerException geworfen.
 

helene

Mitglied
Ich habe deinen Code erneut ausprobiert und es kommt immer noch dieselbe Fehlermeldung. Vielleicht verstehe ich die Methode getCodeBase() nicht richtig.

Sollte mir mit getCodeBase() nicht die URL bzw. der Verzeichnispfad des Applets angezeigt werden? Und mit dem dahinterliegenden String sollte doch in das Verzeichnis Hilfethemen gesprungen werden und anschließend die Datei index.html geöffnet werden.

Danke noch einmal für deine bisherige Hilfe.
 

L-ectron-X

Gesperrter Benutzer
Sollte mir mit getCodeBase() nicht die URL bzw. der Verzeichnispfad des Applets angezeigt werden?
Genau, das Verzeichnis, in dem die .class-Datei des Applets liegt.

Und mit dem dahinterliegenden String sollte doch in das Verzeichnis Hilfethemen gesprungen werden und anschließend die Datei index.html geöffnet werden.
Stimmt.

Hast du es schon mal so versucht?
[JAVA=9]URL page = new URL(getCodeBase(), "Hilfethemen/index.html");[/code]
Ich glaube der Pfad, den getCodeBase() liefert, endet bereits mit einem Slash (/).
Bei einem schnell geschriebenen Test-Applet hat es bei mir so funktioniert.
 

helene

Mitglied
Habe ich jetzt mal versucht, ändert aber leider nichts an der Fehlermeldung, hmm. Ich habe mal versucht mir die Methode getCodeBase() auf der Konsole auszugeben mit:

Java:
System.out.println("getCodeBase() = " + getCodeBase());

Geht in der abstrakten Klasse leider auch nicht. Aber in dem der main Class, mit der ich mein GuiFrame aufrufe funktioniert es. Da muß mein Fehler wohl in der Instanziierung meiner GuiFrame liegen.
 

L-ectron-X

Gesperrter Benutzer
Vielleicht kannst du die Java-Dateien hier als Anhang (gepackt) hochladen...
Dann kann man sich das mal genauer ansehen und muss nicht immer nur mit Fragmenten handtieren.
Wenn du noch Hilfe brauchst, meldest du dich einfach wieder. ;)
 

helene

Mitglied
Juchu, jetzt läuft es auch bei mir. Ich habe die separate Aufruf Klasse des Applets weggelassen. Da muß ich wohl noch mal nachlesen wie das zu funktionieren hat.

Vielen Dank nochmal für deine Hilfe.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Grafikformat für AWT-Applet? AWT, Swing, JavaFX & SWT 0
I Applet BlueJ Applet - Bild mit if-Schleife zeichnen lassen AWT, Swing, JavaFX & SWT 16
T Applet Applet in JFrame einbinden AWT, Swing, JavaFX & SWT 8
C Applet Applet funktioniert in Eclipse aber nicht in Browser AWT, Swing, JavaFX & SWT 1
S Sandboxed Applet weiterhin moeglich..? AWT, Swing, JavaFX & SWT 5
S Oracle's neue Sicherheitseinstellungen zerstoeren mein Applet. Was tun? AWT, Swing, JavaFX & SWT 3
G Applet Applet Komponenten flackern AWT, Swing, JavaFX & SWT 10
U CardLayout im Applet AWT, Swing, JavaFX & SWT 4
J Applet Applet Vererbung/Überladen AWT, Swing, JavaFX & SWT 5
G JavaFX mit ANT deployen als Applet AWT, Swing, JavaFX & SWT 3
S Applet Application 2 applet AWT, Swing, JavaFX & SWT 3
T Applet JTattoo Look and Feel AWT, Swing, JavaFX & SWT 5
T Signiertes Applet Urheber angeben AWT, Swing, JavaFX & SWT 5
S Applet Repaint AWT, Swing, JavaFX & SWT 3
B Java-Applet Parameter übergabe? AWT, Swing, JavaFX & SWT 2
M Applet mit Bildern AWT, Swing, JavaFX & SWT 2
T Applet in JSP einbinden AWT, Swing, JavaFX & SWT 4
R MouseEvent.getX() liefert in Applet Screen-Koordinate AWT, Swing, JavaFX & SWT 2
K Applet Wieso kann ich keine Array im Applet initialisieren AWT, Swing, JavaFX & SWT 13
A Applet Applet vom Web-Server aus aufrufen AWT, Swing, JavaFX & SWT 11
A Applet Applet startet nicht AWT, Swing, JavaFX & SWT 2
P Tatsächliche Größe für Applet AWT, Swing, JavaFX & SWT 3
B Applet Aus Applet signiertes jar mit externen libs erstellen AWT, Swing, JavaFX & SWT 9
S JDialog über Applet AWT, Swing, JavaFX & SWT 3
M Warum funktioniert mein Applet nicht? AWT, Swing, JavaFX & SWT 6
D Applet hintergrund wird nicht weiß AWT, Swing, JavaFX & SWT 2
R Applet JavaScript Methodenaufruf AWT, Swing, JavaFX & SWT 2
A Applet Animiertes gif in awt applet anzeigen AWT, Swing, JavaFX & SWT 11
X Applet Java Applet Datei Ausführung AWT, Swing, JavaFX & SWT 9
A Applet .gif in applet Image nicht animiert angezeigt AWT, Swing, JavaFX & SWT 4
A Applet Applet aus Code neu starten AWT, Swing, JavaFX & SWT 2
K Applet erkennt keine Frameverkleinerung AWT, Swing, JavaFX & SWT 5
S Applet funktioniert nach Browserreload nicht richtig AWT, Swing, JavaFX & SWT 2
T Applet Applet vs. WebStart AWT, Swing, JavaFX & SWT 4
S Applet starten AWT, Swing, JavaFX & SWT 4
K JTable im Browser nicht zu sehen - Applet AWT, Swing, JavaFX & SWT 6
B Applet Button oder Toolbar in einem Applet AWT, Swing, JavaFX & SWT 5
V Applet mit Bildbearbeitung AWT, Swing, JavaFX & SWT 3
V Applet Applet starten schlägt fehl AWT, Swing, JavaFX & SWT 2
W Button in Applet AWT, Swing, JavaFX & SWT 9
kniffel GUI-Applet JTable füllt Hintergrund völlig aus AWT, Swing, JavaFX & SWT 4
J Applet Java-Applet friert mit Firefox ein AWT, Swing, JavaFX & SWT 8
J Applet Tetris flackert AWT, Swing, JavaFX & SWT 9
F Applet Applet starten...(+Timer?) AWT, Swing, JavaFX & SWT 12
S [JAVA] JFrame in Applet/JApplet AWT, Swing, JavaFX & SWT 14
D Applet Applet das auf fremden Libraries basiert einbinden? AWT, Swing, JavaFX & SWT 20
M Applet wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
M JMenuBar im Applet und paint AWT, Swing, JavaFX & SWT 9
E Applet Neuen Tab aus Applet öffnen AWT, Swing, JavaFX & SWT 3
G Applet, Link ermitteln, dem der Benutzer gefolgt ist AWT, Swing, JavaFX & SWT 2
K Email versenden ueber Applet AWT, Swing, JavaFX & SWT 11
S Applet in JFrame einbinden AWT, Swing, JavaFX & SWT 6
S Button aktivieren (Applet) AWT, Swing, JavaFX & SWT 2
3 Applet Applet zeigt nur weiße Fläche AWT, Swing, JavaFX & SWT 15
B 2 Probleme (JFrame & Applet) AWT, Swing, JavaFX & SWT 7
A Programmieren einer Agenda mit einer Liste (als Applet und .txt zum Speichern) AWT, Swing, JavaFX & SWT 7
H Applet - Hilfedateien im Browser öffnen / eine Webseite laden AWT, Swing, JavaFX & SWT 6
O JPanel aus Applet starten AWT, Swing, JavaFX & SWT 3
O Applet-Steuerung mit Tastaturbefehlen AWT, Swing, JavaFX & SWT 3
F 4-Gewinnt als Applet AWT, Swing, JavaFX & SWT 24
F Applet vs Stand-Alone-Client AWT, Swing, JavaFX & SWT 3
B AWT Bild als Hintergrund im Applet AWT, Swing, JavaFX & SWT 2
D Probleme mit MouseWheelListener und JLayeredPane in Applet AWT, Swing, JavaFX & SWT 2
G Applet und Swing Anwendung AWT, Swing, JavaFX & SWT 2
S Applet - Aerger mit dem Hintergrundbild - JLabel und JTextfield AWT, Swing, JavaFX & SWT 7
F Applet zeigt Bilder nicht an AWT, Swing, JavaFX & SWT 5
R for-Schleife in Applet ausgeben AWT, Swing, JavaFX & SWT 3
S Bild wird auf Canvas in Applet nicht gezeichnet AWT, Swing, JavaFX & SWT 4
W Swing heapsort + Applet AWT, Swing, JavaFX & SWT 4
P Diagramm in einem Applet zeichnen AWT, Swing, JavaFX & SWT 4
M Java Applet JTable/JList AWT, Swing, JavaFX & SWT 6
L Einfache Layout Frage für Applet -> Was mache ich bloss falsch? AWT, Swing, JavaFX & SWT 2
K Alternative zu Applet mit HTML-Einbindung AWT, Swing, JavaFX & SWT 11
J Java-Applet beenden AWT, Swing, JavaFX & SWT 3
R Applet aus JFrame starten AWT, Swing, JavaFX & SWT 2
T Konfiguration speichern in Applet AWT, Swing, JavaFX & SWT 2
P Swing Roter Faden beim Applet GUI Programmieren AWT, Swing, JavaFX & SWT 2
T HTML Seite neu laden mittels Applet AWT, Swing, JavaFX & SWT 2
T Icon von Frame ändern - Applet AWT, Swing, JavaFX & SWT 2
T Java Applet beenden AWT, Swing, JavaFX & SWT 2
M Swing Butten & TextFields aus Applet im JFrame nicht sichtbar AWT, Swing, JavaFX & SWT 2
I Swing .Jar Datei - funktioniert - nun als Applet AWT, Swing, JavaFX & SWT 13
S Applet mit Graphics dynamisch vergrößern AWT, Swing, JavaFX & SWT 3
M AWT text im applet formatieren AWT, Swing, JavaFX & SWT 5
L Applet Frage AWT, Swing, JavaFX & SWT 25
1 Verständnisprobleme bei Java Applet AWT, Swing, JavaFX & SWT 13
B Unterschied JFrame/Applet AWT, Swing, JavaFX & SWT 12
T [Applet] startet in Eclipse aber nicht im Browser AWT, Swing, JavaFX & SWT 2
G JSlider in Applet AWT, Swing, JavaFX & SWT 4
P Swing Applet AWT, Swing, JavaFX & SWT 2
R problem mit bildanzeige in applet und main AWT, Swing, JavaFX & SWT 2
A Applet kommt offline nicht mit FileReader zurecht AWT, Swing, JavaFX & SWT 3
F Applet und Popup AWT, Swing, JavaFX & SWT 4
G Wie startet man ein Applet ? AWT, Swing, JavaFX & SWT 4
R Ein Applet von einem Applet öffnen lassen AWT, Swing, JavaFX & SWT 2
Z Applet ausblenden AWT, Swing, JavaFX & SWT 5
G JList wird in einem Applet nur teilweise aktualisiert AWT, Swing, JavaFX & SWT 12
P Applet darstellung von Textfeldern Problem AWT, Swing, JavaFX & SWT 3
I Applet --> neues Fenster öffnen AWT, Swing, JavaFX & SWT 11
I Applet mit Panels (so richtig, gehts besser?) AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben