Mausllistener stört Tastatureingaben

Status
Nicht offen für weitere Antworten.

777

Bekanntes Mitglied
Hi Leute,
Füge ich mir folgenden Code in ein Applet so färbt sich das Applet beim drücken der linkstaste rot.
Code:
	    		public boolean keyDown (Event e, int key)
		       {
		        
		        
		        if (key == Event.LEFT) 
		        {
		            this.setBackground(Color.red);

                }

                
                
		      return true;
		    }


Sobald ich jedoch einen Mauslistener implementiere geht das nicht mehr - es gibt zwar keinen Fehler aber er reagiert einfach nicht mehr auf die Tastatureingaben:(
Warum???
cya
David
 

L-ectron-X

Gesperrter Benutzer
Du arbeitest da mit der Ereignisbehandlung aus Java 1.0, welches seit Java 1.1 durch das Delegationmodell ersetzt wurde und daher deprecated ist.
 

777

Bekanntes Mitglied
Ich hab jetzt ne andere Möglichkeit gefunden doch hier verhält es sich genauso:


Eine Form mit Button und MouseListener:

Code:
import java.awt.Graphics;
import java.awt.Event;
import java.awt.Font;
import java.awt.Color;
import java.awt.event.*;
import java.awt.*;
import java.applet.*;

public class Tasten extends java.applet.Applet implements KeyListener
{
	public void init()
	{
		setLayout(null);
		setSize(426,266);
		button1.setLabel("button");
		add(button1);
		button1.setBackground(java.awt.Color.lightGray);
		button1.setBounds(84,96,104,50);


		SymMouse aSymMouse = new SymMouse();
		button1.addMouseListener(aSymMouse);

	}
	    public Tasten() {


        addKeyListener(this);
    }

    public void keyTyped(KeyEvent ke) {
    }

    public void keyPressed(KeyEvent ke) {
        switch (ke.getKeyCode()) {
        case 38: this.setBackground(Color.red); 
            break;

        }

    }

    public void keyReleased(KeyEvent ke) {
    }

	java.awt.Button button1 = new java.awt.Button();


	class SymMouse extends java.awt.event.MouseAdapter
	{
		public void mousePressed(java.awt.event.MouseEvent event)
		{
			Object object = event.getSource();
			if (object == button1)
				button1_MousePressed(event);
		}
	}

	void button1_MousePressed(java.awt.event.MouseEvent event)
	{

			 
	}
}


Das geht nicht... sobald ich die Taste nach oben drücke passiert garnix.


Das selbe nochmal ohne Mouselistener:


Code:
import java.awt.Graphics;
import java.awt.Event;
import java.awt.Font;
import java.awt.Color;
import java.awt.event.*;
import java.awt.*;
import java.applet.*;

public class Tasten extends java.applet.Applet implements KeyListener
{
	public void init()
	{
		setLayout(null);
		setSize(426,266);

	}
	    public Tasten() {


        addKeyListener(this);
    }

    public void keyTyped(KeyEvent ke) {
    }

    public void keyPressed(KeyEvent ke) {
        switch (ke.getKeyCode()) {
        case 38: this.setBackground(Color.red); 
            break;

        }

    }

    public void keyReleased(KeyEvent ke) {
    }



}



Es Funktioniert?!?!?!?!!!!


Doch blöderweise sind heutzutage ja fast alle Programme noch mit Mauseingaben versehen... was kann ich da machen?


cya
David
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben