Listener und Events

Status
Nicht offen für weitere Antworten.
C

Chewie

Gast
Hallo, bin noch Anfänger und weiss nicht ganz wie ich das bewerkstelligen soll.
Ich hab eine Klasse mit einen Listener und eine Testklasse wo ich ein Objekt dieser Klasse hab ich ein Objekt dieser Klasse. Wenn jetzt beim Objekt ein Event eintrift wie kann ich die Testklasse das Mitteilen? Hab schon im Internet rumgesucht aber nichts gefunden
 

Marco13

Top Contributor
Der Listener müßte die Testklasse kennen. Besser (sauberer getrennt) wäre es vielleicht, wenn die Testklasse SELBST ein Listener wäre, der sich am Objekt registriert.
 
C

Chewie

Gast
Hm also soll ich im Objekt den Listener entfernen und der Testklasse hinzufügen? Hm aber wenn ich jetzt ein dutzend solcher Klassen hab, sollen dann auch alle Eventlistener in die Testklasse?
 

André Uhres

Top Contributor
Die Benutzung von Event Listeners, um Events zu verarbeiten, können wir als
dreistufigen Prozess sehen:
1. Wir definieren eine Klasse A, die die passende Listener Schnittstelle
implementiert (dies schließt die Implementierungen für alle Methoden der Schnittstelle ein).
2. Wir erzeugen eine Instanz dieses Listeners.
3. Wir registrieren diesen Listener bei der Klasse B,
dessen Events uns interessieren.

Die meiste Entwicklungsarbeit verbirgt sich in der Implementation der Klasse B,
da sie die Event Listener verwalten und die passenden Events an sie abfeuern muss.
Die Implementation der Event Listener ist meist trivial. Ausserdem braucht eine Klasse nur dann
einen Listener zu implementieren, wenn sie an den entsprechenden Events interessiert ist.
 
C

Chewie

Gast
Hast du vielleich ein Beispiel mit Code? Bin nicht so sicher wie ich das umsetzten soll.
 

Landei

Top Contributor
So sieht das bei Swing aus, läßt sich aber leicht was analoges selber bauen...
Code:
//irgendwo beim Aufbauen der GUI
JButton button = new JButton("Drück mich!");
frame.getContentPane().add(button, BorderLayout.SOUTH);
...
//registrieren eines Listeners
button.addActionListener(new MyListener());

...
//die Listener-Klasse
public class MyListener extends ActionListener {
   public void actionPerformed(ActionEvent ae) {
      System.out.println("Autsch, nicht so fest!");
   }
}
 
C

Chewie

Gast
Also mal sehen ob ich das jetzt richtig verstanden hab ja?

Ich habe meine Klasse
Code:
class MyPanel extends JPanel implements MouseListener{
boolean selected;
mit den passenden Methoden
Code:
	@Override
	public void mouseClicked(MouseEvent e) {
		if(selected)
                  selected=false;
                else
		  selected=true;
	}

	@Override
	public void mouseEntered(MouseEvent e) {
		this.setBorder(BorderFactory.createLineBorder(red));
		
	}

	@Override
	public void mouseExited(MouseEvent e) {
		this.setBorder(BorderFactory.createLineBorder(black));
		
	}

	@Override
	public void mousePressed(MouseEvent e) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void mouseReleased(MouseEvent e) {
		// TODO Auto-generated method stub
		
	}
In meiner Testklasse erstelle ich ein Objekt davon und gebe dem dann einen Listener
Code:
JPanel mpanel = new MyPanel();
JLabel label= new JLabel();
....
mpanel.addMouseListener(new Mylistener());
...
public class MyListener extends MouseListener{
@Override
	public void mouseClicked(MouseEvent e) {
		label.settext("wurde gedrückt");
		
	}

	@Override
	public void mouseEntered(MouseEvent e) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void mouseExited(MouseEvent e) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void mousePressed(MouseEvent e) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void mouseReleased(MouseEvent e) {
		// TODO Auto-generated method stub
		
	}
}

Ist das jezt soweit richtig?
 
G

Gast

Gast
Ja. (Ich gehe mal davon aus in MyListener ist das label bekannt)
 
C

Chewie

Gast
Gast hat gesagt.:
Ja. (Ich gehe mal davon aus in MyListener ist das label bekannt)
Ja das Label ist für den MyListener bekannt. Der MyListener ist ja ein Unterobjekt von der Testklasse.

Kommt mir nur komisch vor das die ganzen Methoden zwei mal vorkommen überlappen die sich nicht?
Es soll ja einerseits der boolean innerhalb von MyPanel gesetzt werden und anderseits das Label
 
G

Gast

Gast
Achsooo jetzt hab ich erst richtig verstanden was du machst :)

Funktionieren tuts aber trotzdem nichts desto trotz nutzt du die Methoden in MyPanel nicht. Also schmeiß das Interface mit den zugehörigen Methoden da raus.
 

André Uhres

Top Contributor
Chewie hat gesagt.:
Hast du vielleich ein Beispiel mit Code?
DateChooserDemo.zip
1. Die Klasse "DateChooser" implementiert die Listener Schnittstelle "DateSelectionListener ",
was die Implementierungen der Methode "dateSelectionChanged(DateSelectionEvent e)" einschließt.
2. Wir erzeugen eine Instanz dieses Listeners in der main Methode.
3. Wir registrieren diesen Listener bei der Klasse DateSelectionModel,
weil dessen DateSelectionEvents uns interessieren: dateSelectionModel.addSelectionListener(this).

Die Implementierung der Klasse DateSelectionModel zeigt, wie die Event Listeners verwaltet
und die DateSelectionEvents abgefeuert werden.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Listener und Events entfernen Java Basics - Anfänger-Themen 2
T Variable durch Action Listener ändern Java Basics - Anfänger-Themen 2
D String value change listener Java Basics - Anfänger-Themen 2
topi WindowAdapter / Listener / Event Java Basics - Anfänger-Themen 4
L Problem mit Listener Java Basics - Anfänger-Themen 0
P Listener registrieren Java Basics - Anfänger-Themen 40
Salo JTabel Selection listener Bsp. Java Basics - Anfänger-Themen 3
W JLabel, Farbe durch Listener ändern Java Basics - Anfänger-Themen 6
M Listener für Button - Wert von Variablen verändern Java Basics - Anfänger-Themen 14
V JTable welcher Listener ? Java Basics - Anfänger-Themen 7
J Verständnis Problem Java-Listener. Java Basics - Anfänger-Themen 59
M Compiler-Fehler Using action listener Java Basics - Anfänger-Themen 1
F Listener schreiben Java Basics - Anfänger-Themen 1
P Eigene Knöpfe mit eigenem Listener Java Basics - Anfänger-Themen 5
B Listener beim Laden (deserialize) wieder hinzufügen bzw. mitspeichern? Java Basics - Anfänger-Themen 3
J Listener Java Basics - Anfänger-Themen 4
kaoZ Best Practice Verständnisfrage Listener bei lokalen Objekten Java Basics - Anfänger-Themen 8
F eigenes Listener Pattern mit Interface Java Basics - Anfänger-Themen 1
llabusch Kombinationsfeld - LISTENER Java Basics - Anfänger-Themen 0
S Eigenen Listener zu eigenen Button! Java Basics - Anfänger-Themen 5
S Listener reagieren nicht mehr Java Basics - Anfänger-Themen 3
O Laufender Timer+Action Listener in Thread VS isAlive() Java Basics - Anfänger-Themen 4
E Mein eigener Listener (Hilfe gesucht) Java Basics - Anfänger-Themen 2
K On Click listener Problem Java Basics - Anfänger-Themen 4
L JTextField/Listener Input Problem Java Basics - Anfänger-Themen 2
M Listener einerm JPanel hinzufuegen Java Basics - Anfänger-Themen 3
G Listener ohne Objekt Java Basics - Anfänger-Themen 5
T Button Text mit Action Listener [Hilfe!] Java Basics - Anfänger-Themen 10
H Eigenen Listener einbauen Java Basics - Anfänger-Themen 5
K Key Listener bei 2 gleichzeitig gedrückten tasten Java Basics - Anfänger-Themen 3
M Bäume und Listener Java Basics - Anfänger-Themen 2
K Erste Schritte table Listener noob frage Java Basics - Anfänger-Themen 3
E eigenständige Listener-Klasse Java Basics - Anfänger-Themen 9
T Motion listener Java Basics - Anfänger-Themen 10
U Listener erstellen Java Basics - Anfänger-Themen 16
N Variablen aus Action Listener lesen und weiterverarbeiten Java Basics - Anfänger-Themen 12
M listener Java Basics - Anfänger-Themen 16
L Listener Problem in Klasse Java Basics - Anfänger-Themen 8
P Listener für mehrere Buttons Java Basics - Anfänger-Themen 3
L Window Listener Java Basics - Anfänger-Themen 2
Kenan89 JTable: Listener Java Basics - Anfänger-Themen 4
N Klassen auf den Action Listener in einer andere Klasse zugreifen Java Basics - Anfänger-Themen 6
A action listener Java Basics - Anfänger-Themen 8
M Netbeans Listener - Anonymous, inner class, main class? Java Basics - Anfänger-Themen 4
K Action Listener reagiert nicht auf Button druck mehr??? Java Basics - Anfänger-Themen 4
E Mehrere Listener auf einen Button? Java Basics - Anfänger-Themen 3
P Input/Output InputStream Listener? Java Basics - Anfänger-Themen 7
X Problem bezüglich Key Listener Java Basics - Anfänger-Themen 3
Y Button hört nicht auf Listener Java Basics - Anfänger-Themen 5
H JTable, Listener und CellEditor Java Basics - Anfänger-Themen 8
B OOP Eigener Event-Listener erstellen Java Basics - Anfänger-Themen 4
M Listener Objekte Java Basics - Anfänger-Themen 12
S Applet Key Listener Java Basics - Anfänger-Themen 6
J Action Listener Java Basics - Anfänger-Themen 2
G Probleme mit Listener Java Basics - Anfänger-Themen 27
B Wert einer Variable mit Listener ueberwachen Java Basics - Anfänger-Themen 3
F Port Listener Java Basics - Anfänger-Themen 9
J JComboBox Listener Java Basics - Anfänger-Themen 6
J Window-Listener funktionieren nicht Java Basics - Anfänger-Themen 7
N Frage zu Listener für Textfelder Java Basics - Anfänger-Themen 5
Benji0815 Eigenen Listener schreiben Java Basics - Anfänger-Themen 13
M Probleme beim Aufruf von Listener in anderer Klasse Java Basics - Anfänger-Themen 9
S Key-Listener richtig "einbauen" Java Basics - Anfänger-Themen 42
S Listener von ausserhalb aufrufen Java Basics - Anfänger-Themen 2
S Action Listener Java Basics - Anfänger-Themen 6
Sweety Listener in Swing Java Basics - Anfänger-Themen 8
Hamstinator Design und Listener in verschiedenen Klassen Java Basics - Anfänger-Themen 6
Developer_X Mouse MOTION listener example Java Basics - Anfänger-Themen 5
J Mouse-Listener Java Basics - Anfänger-Themen 3
I Listener Klassen in Package Java Basics - Anfänger-Themen 3
StickToFreak Applet -> GameLoop + Listener / Listener funktioniert nicht Java Basics - Anfänger-Themen 22
B externer Listener für Zeichenbereich? Java Basics - Anfänger-Themen 2
D dialog listener? Java Basics - Anfänger-Themen 2
G Key Listener arbeitet Fehlerhaft Java Basics - Anfänger-Themen 6
E Listener Java Basics - Anfänger-Themen 2
hdi keylistener hat keinen fokus oder: listener ohne frame? Java Basics - Anfänger-Themen 10
G jtable listener wenn zeile markiert wird Java Basics - Anfänger-Themen 6
S Action Listener Funktioniert nicht Java Basics - Anfänger-Themen 6
D Kombinationsfeld => Realisierung im Listener? Java Basics - Anfänger-Themen 2
G LIstener bei JavaMail Java Basics - Anfänger-Themen 2
G Context Listener des Apache Tomcat verwenden Java Basics - Anfänger-Themen 4
D Listener bzw. Interfaces Java Basics - Anfänger-Themen 7
A Wo/Wie Event Listener Java Basics - Anfänger-Themen 3
G Window Listener? Java Basics - Anfänger-Themen 2
G 2 Listener wiedersprechen sich. Java Basics - Anfänger-Themen 12
G Listener für JPanel für Statusmeldungen Java Basics - Anfänger-Themen 3
F Listener für Variable Java Basics - Anfänger-Themen 29
A Gibt es standardmässig in Java einen Verzeichnis-Listener? Java Basics - Anfänger-Themen 6
N Listener für datei Java Basics - Anfänger-Themen 13
S Mit Listener AWT Objekte ansprechen Java Basics - Anfänger-Themen 2
G listener für radiobutton Java Basics - Anfänger-Themen 1
G Listener Java Basics - Anfänger-Themen 5
G Listener Problem Java Basics - Anfänger-Themen 3
B Wiso funktioniet das nicht? (Listener) Java Basics - Anfänger-Themen 6
H Key Listener macht nicht das was er soll Java Basics - Anfänger-Themen 4
T Wartet Klasse auf Listener? Java Basics - Anfänger-Themen 3
D Listener? Java Basics - Anfänger-Themen 2
S Listener auf JTextfeld Java Basics - Anfänger-Themen 8
B Kommunikation zwischen Klasse und Listener Java Basics - Anfänger-Themen 2
C Benutzereingaben vor Listener abfangen Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben