2016-05-09 19 views
1

Gibt es eine Möglichkeit, den Roboter automatisch klicken zu lassen, wenn Sie die linke Maustaste gedrückt halten und dann beim Loslassen anhalten? Das ist, was ich gerade habe ... Was nicht funktioniert.Roboter - AutoClicking bei gedrückter linker Maustaste

public void nativeMousePressed(NativeMouseEvent e) { 
    if (!disable) { 
     if (e.getButton() == MouseEvent.BUTTON1) { 
      if (!randomCPS) { 
       robotClick(cps, typeOfClick); 
      } else if (randomCPS) { 
       robotRandomizedBetweenClicks(fromCPS, toCPS, typeOfClick); 
      } 
     } 
    } 
} 


public void nativeMouseReleased(NativeMouseEvent e) { 
    if (e.getButton() == MouseEvent.BUTTON1) { 
     disable = true; 
     running = false; 
    } 
} 
+0

Können Sie Ihre '' 'main''' Methode zeigen? –

+0

upboting für neah –

Antwort

0

Sie können ein boolesches benanntes Klicken erstellen. Setzen Sie in Ihrer mousePressed-Methode das Klicken auf true und in mouseReleased auf false.

private boolean clicking = false; 
public void nativeMousePressed(NativeMouseEvent e) { 
    clicking = true; 
     if (!disable) { 
     if (e.getButton() == MouseEvent.BUTTON1) { 
      if (!randomCPS) { 
       robotClick(cps, typeOfClick); 
       } else if (randomCPS) { 
      robotRandomizedBetweenClicks(fromCPS, toCPS, typeOfClick); 
      } 
     } 
    } 
} 


public void nativeMouseReleased(NativeMouseEvent e) { 
    clicking = false; 
    if (e.getButton() == MouseEvent.BUTTON1) { 
    disable = true; 
    running = false; 
} 
} 

diese Weise für die Dauer der Maus drücken Sie anrufen können je nachdem, was Sie arbeiten möchten, verwenden und es, sobald Sie die Taste loslassen stoppen. Wenn dies bedeutet, dass die Funktion zu häufig aufgerufen wird, können Sie einen Zähler implementieren, um die Funktion bei jedem fünften Aufruf (oder mehr) zu aktivieren.

+1

Habe es funktioniert, musste ein wenig herumspielen, aber es funktioniert. Sorry für die späte Antwort. Vielen Dank! –

0

Wenn Sie möchten, dass Sie ständig auf einen Pfad klicken/folgen, im Wesentlichen wie das Zeichnen einer Linie in MS Paint zum Beispiel, dann ziehen Sie 'mouseDrag' oder 'MouseClick' in Betracht.

Haben Sie Ihre JPanel MouseMotionListener erweitern & MouseListener

@Override 
public void mouseClicked(MouseEvent me) //try mouseDragged or the other methods which you're able to override once you've extended the classes I've mentioned above. 
{  
    if (!randomCPS) 
    { 
     robotClick(cps, typeOfClick); 
    } 
    else if (randomCPS) 
    { 
     robotRandomizedBetweenClicks(fromCPS, toCPS, typeOfClick); 
    } 
} 

@Override 
public void mouseReleased(MouseEvent me) 
{ 
    disable = true; 
    running = false; 
}