# zu Eclipse



## Z33di (28. Feb 2008)

ich würde gern den ActionListener umschreiben, in java.awt.event kann man wunderschön den namen sehen aber mache ich einen doppelklick, bekomme ich folgendes zu lesen: 
Klassendateieditor //Es gibt einen extra Editor für Klassen? Was ist da der unterschied zu Eclipse?

*Quelle nicht gefunden* //Wie findet sie ddann der compiler wenn ich es importiere (bzw implementiere)?
Die JAR-Datei rt.jar besitzt keine Quellenzuordnung.  //Die datei die ich angeklickt habe ist eine .class datei keine .jar
Sie können die Quelle zuordnen, indem Sie unten auf 'Quelle zurodnen' klicken: //klicke ich da drauf soll ich irgendeinen    .               //pfad oder sowas angeben aber woher soll man denn wissen wo das is bzw wie kann man das herausfinden?

--BUTTON-- (Name: Quelle zuordnen.....) // hier öffnet sich ein fenster
public abstract interface java.awt.event.ActionListener extends java .util.EventListener { //naja und was der text hier soll .                                                                                                                              //kapier ich überhaupt nicht
public abstract void actionPerformed(java.awt.event.ActionEvent arg0);
}

...hab in den text im sinne von komentierung in java hingeschrieben was ichnicht kapier für beantwortung meiner fragen wäre ich sehr dankbar.


----------



## Beni (28. Feb 2008)

Na, Eclipse findet nur die kompilierte Klasse, die *.class-Datei. Aber der Quelltext fehlt.

Der Quelltext findet sich im JDK (das du vermutlich irgendwo installiert hast). Wenn du den Pfad setzen willst, dann suche nach einer Datei "src.zip" die im JDK-Ordner sitzt.


----------



## ARadauer (28. Feb 2008)

> ActionListener umschreiben


ich würd aber den ActionListener nicht umschreiben. Damit änderst du die Java API an sich. 
was du machen kannst ist, dass du sie überschreibst. Also von ihr erben und die geünschten neue schreiben (überschreiben)

Ein Tipp: Unter Eclipse->Source-Override/Implement Methods
Da siehst du welche Methoden die Oberklasse hat und du kannst dir gleich die Methodenrümpfe erstellen lassen.


----------



## Z33di (28. Feb 2008)

naja das hatte ich auch vor..


----------



## Z33di (28. Feb 2008)

hamm also habs jez mal mit der "src.zip" verknüpft und habe jetzt als quelltext:

package java.awt.event;
import java.util.EventListener;
public interface ActionListener extends EventListener {
    public void actionPerformed(ActionEvent e);}

...das erscheint mir ziemlich wenig^^ ist das wirklich alles?


----------



## tfa (28. Feb 2008)

Ja, das ist definitiv alles (von den Kommentaren abgesehen).


----------



## Z33di (28. Feb 2008)

aber wo ist dann der code?


----------



## The_S (28. Feb 2008)

Hallo mein unregestrierter Freund  ,

ein Interface definiert immer nur Methoden und enthält nie einen "Inhalt".

Was willst du denn genau machen?


----------



## tfa (28. Feb 2008)

Das ist doch Code. Ist halt ein Interface. Hier werden nur
Methoden-Prototypen definiert. Irgendeine Klasse implementiert dann dieses Interface (das meinst du vielleicht mit Code).


----------



## Wildcard (28. Feb 2008)

Das ist ein Interface, keine Klasse.
Ausserdem darfst du in fast allen Java Versionen den Code der Klassenbibliothek nicht verändern.


----------



## tfa (28. Feb 2008)

Das ist doch Code. Ist halt ein Interface. Hier werden nur
Methoden-Prototypen definiert. Irgendeine Klasse implementiert dann dieses Interface (das meinst du vielleicht mit Code).


----------



## Z33di (28. Feb 2008)

ich glaub ich drück mich immer falsch aus...
Ich würde gerne sehen (also code und damit meine ich wie was wann an welche stelle gemacht wird bsp:
		String localhost = "";
		try { localhost = inetAddress.getLocalHost().getHostAddress(); }
		catch (UnknownHostException ex) {})
soweit so gut also schaue ich in die klasse "ActionListener" dort steht, dass es ein interface ist. OK. da steht aber auch 
"extends EventListener" HAHA! denke ich mir schau ich doch da mal rein. GROßE Enttäuschung! Da steht: public interface Eventlistener{}.
Ihr sagt mir jez "Interface ist ne sammlung aus Methoden-Prototypen" was soll dass denn nun sein? und wo stehen diese "Methoden-Prototypen" ich sehe einfach nichts woran ich mich orientieren könnte. also nochmal meine Frage wo is der code?


----------



## The_S (28. Feb 2008)

Ich vermute mal dass du das suchst, was in den Klassen steht, die die Möglichkeit bieten z. B. einen ActionListener zu adden!? => Schau dir die gewünschte Klasse an (z. B. JButton) und suche nach dem Aufruf der Methode (bei einem ActionListener z. B. actionPerformed).

[edit] sry, JButton implementiert diese Methode natürlich nicht, sondern der AbstractButton, von dem der JButton erbt. Also da rein schauen.


----------



## tuxedo (28. Feb 2008)

vielleicht sollte sich der Threadstarter auch nochmal auf der Javainsel erkundigen was der Unterschied zwischen einer Klasse und einem Interface ist.... Würde auch helfen.

Was er letztendlich sucht, wird wohl eine "Referenzimplementierung" des ActionlistenerInterfaces sein. Aber die sind halt nunmal "recht speziell" und nicht unbedingt verallgemeinerbar.

- Alex


----------



## Z33di (28. Feb 2008)

http://www.developers-guide.net/forums/6548,zu-eclipse#post59982
da sind weitere infos falls interesse besteht.
@hobbit hab da mal nachgeschaut des bringt mir schon mehr bin aber trotzdem noch nicht sonderlich weit^^ (mein problem) & nimm mich doch mal in icq auf (hab dir ne anfrage geschickt) dann können wir nochmal über die wette reden


----------



## The_S (28. Feb 2008)

Also erstmal Stimme ich alex zu - du solltest erstmal den Unterschied zwischen Interfaces und Klassen verstehen.

Schön, dass es dir ein bisschen weiter hilft. Wie kann man dir sonst noch helfen  ?

Die ICQ-Nummer hier im Forum ist nicht mehr ganz aktuell (was auch sinnvoll ist ... hab einfach zu viele Anfragen von irgendwelchen Anfängern hier bekommen, die meinen, sie haben in mir ihren Privatlehrer gefunden), da schau ich max. 1 mal in 2 Wochen rein. Regestrier dich und dann PN, ansonsten: Nö  .


----------

