Wem füge ich welchen Listener hinzu?

Simmel

Mitglied
Hallo Leute,

irgendwie hab ich die Sache mit den Listenern noch nciht so ganz gerafft.
Ich habe einen JFrame,der drei nebeneinanderliegende Komponenten enthält. Die mittlere Komponente ist eine eigene Klasse die aus JComponente abgeleitet wird, und auf der ich mit paint() "male".
Code:
+--------------------------+
|          JFrame          |
+-------+----------+-------+
|JButton|JComponent|JButton|
+-------+----------+-------+

Nun wollte ich eigentlich für meine eigene JComponent jeweils einen Key-, Mouse- und MouseMotionListener im Konstruktor hinzufügen, sodass die Komponente eigenständig auf Benutzerinteraktionen reagieren kann, jedoch bekomm niemals die Tasteneingaben mit dem KeyListener eingefangen. Wie mach ich das?

Danke und mfG
 
GUI-Klasse
Java:
public class GUI extends JFrame
{
	public GUI()
	{
		paint = new Paint();
		this.setLayout(new GridLayout());
		this.add(new JButton("Hallo"));
		this.add(paint);
		this.add(new JButton("Bye"));

	}
}
Paint-Klasse
Java:
public class Paint extends JComponent implements MouseListener, MouseMotionListener, KeyListener
{
	public Paint()
	{
		this.addMouseListener(this);
		this.addKeyListener(this);
		this.addMouseMotionListener(this);
	}
	public void paint(Graphics g)
	{
		// Zeichne irgendwas
	}

	// Hier noch die zugehörigen implementierten Methoden der Interfaces
}
 

Zurück
Oben