Anzeige:
Seite 2 von 2 ErsteErste 12
Ergebnis 16 bis 24 von 24

Thema: [Java] Listener selber bauen

  1. #16
    Registrierter Benutzer Avatar von Sym
    Registriert seit
    05.09.2002
    Ort
    Bremen
    Beiträge
    278
    Original geschrieben von peschmae
    Klasse != Objekt

    Hmm,
    also machst du statt PositionListener/ContentListener ein eigenes interface (public, in anderer Datei)
    Code:
    public interface TableChangeListener() {
    	public void tableChanged(String s);
    }
    verwendest das Zeugs an Stelle von PositionListener und rufst dann das in contentChanged() auf?

    MfG Peschmä
    Schreib Du mal bitte einen Text, wo man vernünftig zwischen Klasse und Objekt unterscheidet. Ich habe es wenigstens versucht...

    Ich habe ein eigenes Interface gebaut (wie es anda_skoa schon schrieb). contentChanged() kann ich dann ja aufrufen, doch wie teile ich dem ANDEREN Objekt das mit?

    Eine Instanz der oberen Klasse wird von meinem MainObjekt instanziiert, und sie soll das mitgeteilt bekommen.

    Vielleicht verstehe ich Dich auch nur nicht richtig.
    Denk mal drüber nach...

    Lars

    ACHTUNG: ersetze Linux durch GNU/Linux an den entsprechenden Stellen
    www.macuser.de, MSVC2005 Express und Qt, Qt/Mac installieren

  2. #17
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Dafür hast du doch die public void addListener(ContentListener listener) - Methode.

    Ich nehme mal an du hast in deinem Main-Objekt eine Referenz auf dein JFrame-Objekt. Also?
    Code:
    frame.addListener(new ContentListener() {
      public void valueChanged() {
    	//jetzt machen wir mal irgendwas
      }
    });
    Wobei du die Methode besser setListener nennen solltest - schliesslich kann nur ein Listener aufs mal gesetzt sein - wenn du einen neuen addest wird der alte gegarbage-collected.

    MfG Peschmä

    P.S. Text geschrieben
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  3. #18
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477

    Re: nach anda_skoa...

    Original geschrieben von Sym
    In meiner Klasse habe ich eine Methode addListener(ContentListener listener), die nach einem Cast des ContentListeners (zu einer abgeleiteten Klasse des Interfaces) der privaten Listener-Variable zugeordnet wird.
    Das ist nicht ganz im Sinne eines Interfaces.
    Du brauchst ja die Klasse des Implementierers nicht, denn das Interface enthält alle Methoden die du brauchst.
    Wie sie implementiert sind, interessiert den Aufrufer nicht.


    Leider verstehe ich die zusätzliche Methode changeName() nicht ganz (klappt zum einen nicht), denn ich möchte ja die Klasse des Interfaces nutzen.
    Der richtige Code wird von Java ermittelt, da musst du dich nicht darum kümmern.

    Wenn valueChanged alleine ausreicht um dem Listener mitzuteilen was er sich neu ansehen muss, geht das so wie es schon ist.
    Wenn du bestimmte Zusatzdaten wie einen Index transportieren musst, dann gib der Methode entsprechende Parameter.

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  4. #19
    Registrierter Benutzer Avatar von bischi
    Registriert seit
    10.04.2003
    Beiträge
    4.828
    Schreib Du mal bitte einen Text, wo man vernünftig zwischen Klasse und Objekt unterscheidet. Ich habe es wenigstens versucht...
    Ich hab grössere Probleme mit Methode und Funktion...

    MfG Bischi

    "There is an art, it says, or rather, a knack to flying. The knack lies in learning how to throw yourself at the ground and miss it" The hitchhiker's guide to the galaxy by Douglas Adams

    --> l2picfaq.pdf <-- www.n.ethz.ch/~dominikb/index.html LaTeX-Tutorial, LaTeX-Links, Java-Links,...

  5. #20
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Original geschrieben von bischi
    Ich hab grössere Probleme mit Methode und Funktion...
    Bei Pascal - lange ists her - ist afair eine Methode eine Funktion ohne Rückgabewert. In Java/C++ also eine void xyz() - Funktion.
    Eine Funktion ist halt eine Funktion mit Rückgabewert. Ich glaube aber nicht dass es da sonst einen Unterschied gibt.

    Ah, hab noch nachgeguckt. Im Stroustroup-C++-Buch steht "a virtual member function is sometimes also called a method".
    Da in Java alle Funktionen per Default "virtual" sind und es nix anderes gibt sind wohl - gemäss der C++schen Sprachregelung - alle Java-Funktionen auch methoden.
    Da aber nur "sometimes called" darfst du wie du willst

    @anda_skoa: ahaaaaa. Ich dachte das sei recht umständlicher Testcode und hab mich dann gefragt wo denn die Main-Methode hin is
    Jetzt ist es klar.

    MfG Peschmä
    Geändert von peschmae (13-04-2004 um 21:03 Uhr)
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  6. #21
    Registrierter Benutzer Avatar von Sym
    Registriert seit
    05.09.2002
    Ort
    Bremen
    Beiträge
    278

    Ok, verstanden...

    Hi,

    ich habe es jetzt wohl verstanden und werde es implementieren. Leider war ich gestern nicht zu Hause und konnte mich nicht darum kümmern.

    @Pascal: Funktion

    Ich meine mich zu erinnern, dass eine Funktion ohne Rückgabewert Prozedur und nicht Methode hieß.

    edit: Ach ja - VIELEN DANK.
    Geändert von Sym (14-04-2004 um 12:34 Uhr)
    Denk mal drüber nach...

    Lars

    ACHTUNG: ersetze Linux durch GNU/Linux an den entsprechenden Stellen
    www.macuser.de, MSVC2005 Express und Qt, Qt/Mac installieren

  7. #22
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Stimmt

    MFG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  8. #23
    Registrierter Benutzer Avatar von bischi
    Registriert seit
    10.04.2003
    Beiträge
    4.828
    Da bin ich aber froh hab gedacht, ich hätte in jedem zweiten Java-Satz nen Fehler gemacht...

    MfG Bischi

    "There is an art, it says, or rather, a knack to flying. The knack lies in learning how to throw yourself at the ground and miss it" The hitchhiker's guide to the galaxy by Douglas Adams

    --> l2picfaq.pdf <-- www.n.ethz.ch/~dominikb/index.html LaTeX-Tutorial, LaTeX-Links, Java-Links,...

  9. #24
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    lol

    Nicht wirklich verschieden. Immerhin ist jede Methode auch eine Funktion und in Java auch umgekehrt. Aber neue Wörter - ist doch auch gut (fast wie in Biologie )

    Zwischen Klasse und Objekt ist wenigstens noch ein Unterschied.

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •