MouseClicked / MouseReleased

Status
Nicht offen für weitere Antworten.

larsKolb

Mitglied
Hallo,

ich habe in einer Klasse einen MouseListener über mein Fenser gelegt und in einer anderen Klasse hole ich mir die x und y- Werte der MouseClicks und ja nach dem ob sich dort ein Button befindet, mache ich etwas. Meine Frage wäre jetzt, wie ich es machen kann, dass, wenn ich mit der linken Maustaste drücke, dass dann eine Variable (var) auf 1 gesetzt wird
und erst wenn ich die Maustaste wieder auslasse auf 0 geht. Auch sollte var wieder auf 0 gehen, wenn ich aus einem gewissen Bereich herausfahre.

Vielleicht kann mir da jemand helfen.
Vielen Dank.
lg
Lars.

Code:
addMouseListener(new DedectMouseListener());
Code:
class DedectMouseListener extends MouseAdapter implements MouseListener {   
    private int xPressed = 0;
    private int yPressed = 0;
    public var = 0;
    int dX = 35;
    int dY = 35;
    
    public void mousePressed(MouseEvent event) 
	{
	xPressed = event.getX()-4;
	yPressed = event.getY()-53;

  	if (yPressed >= 355 && yPressed <= 355+dY)
           {
           var = 1;
           System.out.println("Die Taste " + (i+8) + " wurde gedrückt");
           }
        }
}
 

larsKolb

Mitglied
Hallo,

ich würde bei der Abfrage der Maus brauchen:

wenn ich die linke Maustaste gedrückt halte und im gedrückten zustand ziehe, dann soll ab einem gewissen x oder y wert eine variable wieder auf false gesetzt werden.

Geht das, dass ich mousePressed und mouseMoved irgendwie kombiniere?

Vielen DANK

lg
Lars.
 

L-ectron-X

Gesperrter Benutzer
Ja, du musst dazu mouseDragged() aus MouseMotionListener bzw aus MouseMotionAdapter überschreiben.
 

larsKolb

Mitglied
Kannst du mir da einen tipp geben, wie ich das angehen kann, Ich schätze mal ich muss MouseDragged so überschreiben, dass ich Pressed und eben Dragged in diese Methode kombiniert hineinbekomme, oder.


VIELEN DANK

lg
Lars
 

larsKolb

Mitglied
Hallo,

ich habe jetzt versucht, die mouseDragged - Methode zu überschreiben. Leider habe ich ein paar schwierigkeiten. Und zwar setze ich beim drücken der linken Maustaste tasteGedrueckt[x] auf 1 und wenn ich die Taste loslasse dann wieder auf 0. Ich möchte aber den Eintrag bei gedrückter Maustaste und beim Ziehen (in der Methode MouseDragged) der Maus auf 0 zurücksetzen. Leider komme ich zu unden kommentierten Teil nicht rein, da alle tasteGedrueckt- Einträge auf false sind.
Ds ist mir nihct ganz klar.
Kann mir da jemand helfen


VIELEN DANK

lg
Lars

Code:
class DedectMouseListener extends MouseAdapter implements MouseListener {   
    private int xPressed = 0;
    private int yPressed = 0;
    private int xReleased = 0;
    private int yReleased = 0;
    private boolean[] tasteGedrueckt = new boolean[40];
    private boolean gedrueckt;
    int dX = 35;
    int dY = 35;
    int i;
    
    public void mouseDragged(MouseEvent eventMove)
	{
	i++;
	if (i > 10)
	    {
	    System.out.println("Hier bin ich 1");
	    for (int j = 0; j < 40; j++)
		{
		System.out.println("Hier bin ich 2: " + tasteGedrueckt[j]);
		if (tasteGedrueckt[j] == true)
		    {
		    System.out.println("Hier bin ich 3");                                // ich komme hier leider nie rein
		    tasteGedrueckt[j] = false;
		    System.out.println("Die Taste " + j + " wurde auf 0 zurückgesetzt: " + tasteGedrueckt[j]);
		    }
		}
	    }
	}
  	
    public void mousePressed(MouseEvent event) 
	{
	xPressed = event.getX()-4;
	yPressed = event.getY()-53;
        if (xPressed >= 35+i*50 && xPressed <= 35+i*50+dX)   							
  		{
  		if (yPressed >= 355 && yPressed <= 355+dY)
		    {
		    tasteGedrueckt[i+8] = true;
                    }
                }
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben