Package pi.event

Class PressedKeyRepeater

java.lang.Object
pi.event.PressedKeyRepeater
All Implemented Interfaces:
KeyStrokeListener

public class PressedKeyRepeater extends Object implements KeyStrokeListener
Führt bei gedrückter Taste mehrmals die gleiche Aufgabe in einem bestimmten zeitlichen Abstand aus.

Folgender Code-Ausschnitt registriert zwei Beobachter, nämlich einen für die linke Pfeiltaste und einen für die rechte Pfeiltaste. Die auszuführenden Aufgaben werden dabei als Lambda-Ausdrücke (() -> {}) notiert.


 import java.awt.event.KeyEvent;

 PressedKeyRepeater repeater = new PressedKeyRepeater(0.5, 1);
 repeater.addListener(KeyEvent.VK_RIGHT, () -> {
     System.out.println("right");
 });
 repeater.addListener(KeyEvent.VK_LEFT,
         () -> System.out.println("left initial"),
         () -> System.out.println("left"),
         () -> System.out.println("left final"));
 

Wird die rechte Taste gedrückt gehalten, erscheint sofort der Text right in der Konsole, nach einer Sekunde (1) ein weiteres right und dann immer nach einer halben Sekunde (0.5) right.

Wird die linke Taste gedrückt gehalten, erscheint sofort der Text initial left und in der nächten Zeile left, nach einer Sekunde ein weiteres left und dann immer nach einer halben Sekunde left. Beim Loslassen der Taste erscheint final left

Since:
0.9.0
Author:
Josef Friedrich
  • Constructor Summary

    Constructors
    Constructor
    Description
    Erzeugt einen Wiederholer mit Standardwerten für die Zeitintervalle.
    PressedKeyRepeater(double interval, double initialInterval)
    Erzeugt einen Wiederholer durch Angabe des Zeitintervalls der Wiederholung und der anfänglichen Verzögerung.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addListener(int keyCode, Runnable repeatedTask)
    Fügt einen Beobachter hinzu, der auf gedrückt gehaltene Tasten reagiert; dabei kann die Tastennummer und die sich wiederholende Aufgabe angegeben werden.
    void
    addListener(int keyCode, Runnable repeatedTask, double interval, double initialInterval)
    Fügt einen Beobachter hinzu, der auf gedrückt gehaltene Tasten reagiert; dabei kann die Tastennummer, die sich wiederholende Aufgabe, das Zeitintervall der Wiederholung und anfängliche Verzögerung angegeben werden.
    void
    addListener(int keyCode, Runnable repeatedTask, Runnable finalTask)
    Fügt einen Beobachter hinzu, der auf gedrückt gehaltene Tasten reagiert; dabei kann die Tastennummer, die sich wiederholende Aufgabe und die abschließende einmalige Aufgabe angegeben werden.
    void
    addListener(int keyCode, Runnable initialTask, Runnable repeatedTask, Runnable finalTask)
    Fügt einen Beobachter hinzu, der auf gedrückt gehaltene Tasten reagiert; dabei kann die Tastennummer, die anfängliche einmalige Aufgabe, die sich wiederholende Aufgabe und abschließende einmalige Aufgabe angegeben werden.
    void
    Stoppt alle momentan laufenden Ausführungen der sich wiederholenden Aufgabe.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface pi.event.KeyStrokeListener

    onKeyUp
  • Constructor Details

    • PressedKeyRepeater

      public PressedKeyRepeater(double interval, double initialInterval)
      Erzeugt einen Wiederholer durch Angabe des Zeitintervalls der Wiederholung und der anfänglichen Verzögerung.
      Parameters:
      interval - Das Zeitintervall (in Sekunden) nach dem die Aufgabe wiederholt wird.
      initialInterval - Die Verzögerung (in Sekunden) zwischen dem ersten Tastendruck und der ersten Wiederholung der Aufgabe.
    • PressedKeyRepeater

      public PressedKeyRepeater()
      Erzeugt einen Wiederholer mit Standardwerten für die Zeitintervalle.

      Der Standardwert für das Zeitintervall der Wiederholung ist 0.03 und der Standardwert für die anfängliche zeitliche Verzögerung 0.15

  • Method Details

    • addListener

      public void addListener(int keyCode, Runnable repeatedTask, double interval, double initialInterval)
      Fügt einen Beobachter hinzu, der auf gedrückt gehaltene Tasten reagiert; dabei kann die Tastennummer, die sich wiederholende Aufgabe, das Zeitintervall der Wiederholung und anfängliche Verzögerung angegeben werden.
      Parameters:
      keyCode - Die Nummer der Taste, durch die die Aufgaben gestartet werden. Beispielsweise kann mit dem statischen Attribut KeyEvent.VK_A die Tastennummer der Taste „A“ bestimmt werden.
      repeatedTask - Die Aufgabe, die nach einem bestimmten Zeitintervall wiederholt wird.
      interval - Das Zeitintervall (in Sekunden) nach dem die Aufgabe wiederholt wird.
      initialInterval - Die Verzögerung (in Sekunden) zwischen dem ersten Tastendruck und der ersten Wiederholung der Aufgabe.
    • addListener

      public void addListener(int keyCode, Runnable repeatedTask)
      Fügt einen Beobachter hinzu, der auf gedrückt gehaltene Tasten reagiert; dabei kann die Tastennummer und die sich wiederholende Aufgabe angegeben werden.
      Parameters:
      keyCode - Die Nummer der Taste, durch die die Aufgaben gestartet werden. Beispielsweise kann mit dem statischen Attribut KeyEvent.VK_A die Tastennummer der Taste „A“ bestimmt werden.
      repeatedTask - Die Aufgabe, die nach einem bestimmten Zeitintervall wiederholt wird.
    • addListener

      public void addListener(int keyCode, Runnable repeatedTask, Runnable finalTask)
      Fügt einen Beobachter hinzu, der auf gedrückt gehaltene Tasten reagiert; dabei kann die Tastennummer, die sich wiederholende Aufgabe und die abschließende einmalige Aufgabe angegeben werden.
      Parameters:
      keyCode - Die Nummer der Taste, durch die die Aufgaben gestartet werden. Beispielsweise kann mit dem statischen Attribut KeyEvent.VK_A die Tastennummer der Taste „A“ bestimmt werden.
      repeatedTask - Die Aufgabe, die nach einem bestimmten Zeitintervall wiederholt wird.
      finalTask - Eine einmalige Aufgabe, die beim Loslassen der entsprechenden Taste, ausgeführt wird.
    • addListener

      public void addListener(int keyCode, Runnable initialTask, Runnable repeatedTask, Runnable finalTask)
      Fügt einen Beobachter hinzu, der auf gedrückt gehaltene Tasten reagiert; dabei kann die Tastennummer, die anfängliche einmalige Aufgabe, die sich wiederholende Aufgabe und abschließende einmalige Aufgabe angegeben werden.
      Parameters:
      keyCode - Die Nummer der Taste, durch die die Aufgaben gestartet werden. Beispielsweise kann mit dem statischen Attribut KeyEvent.VK_A die Tastennummer der Taste „A“ bestimmt werden.
      initialTask - Eine einmalige Aufgabe, die unmittelbar ausgeführt wird, wenn die entsprechende Taste gedrückt wird.
      repeatedTask - Die Aufgabe, die nach einem bestimmten Zeitintervall wiederholt wird.
      finalTask - Eine einmalige Aufgabe, die beim Loslassen der entsprechenden Taste, ausgeführt wird.
    • stop

      public void stop()
      Stoppt alle momentan laufenden Ausführungen der sich wiederholenden Aufgabe.

      Die Aufgaben werden dann erst wieder ausgeführt, wenn die entsprechende Taste erneut gedrückt wird.