Derzeit zeigt meine Anwendung, die Eingabe ist, wenn das folgende Ereignis eintritt:eine Stringlänge Vergleichen nach 1 Sekunde mit der gleichen Zeichenfolge
textfield.setOnKeyPressed((keyEvent) -> {
if(keyEvent.getCode().isDigitKey() || keyEvent.getCode().isLetterKey() ||
keyEvent.getCode().isModifierKey() || keyEvent.getCode().isWhitespaceKey() ||
keyEvent.isShiftDown()){
whoTypes();
}
Aber ich möchte, dass, wenn der Benutzer nicht die Eingabe oder Eingabe stoppt, sollte es zeigen nichts.
Ich möchte, dass nach 1 Sekunde, sollte es überprüfen, ob das Textfeld die gleiche Länge wie es vorher war. Wenn die Länge gleich ist, zeigt der Bildschirm an, dass der Benutzer nicht mehr schreibt. Wenn sich die Länge von der vor dieser Sekunde unterscheidet, wird weiterhin angezeigt, dass der Benutzer tippt.
definieren "gestoppt". 1 Sekunde? 100 Millisekunden? Sie müssen sich zuerst entscheiden und müssen wahrscheinlich einen Timer verwenden, der nach jedem Tastendruck deaktiviert und wieder aktiviert wird. –
Sie benötigen einen Rückruf beim Timer, keinen Rückruf bei Tastendruck. – Arkadiy