while Schleife ausführen solange eine Taste gedrückt ist

G

_Gerret_

Gast
Hi!

Ich möchte eine while Schleife solange ausführen, solange j gedrückt ist.
z.B.

Java:
while(keyispressed){
    System.out.println("ispressed");
}
(Pseudocode)

Wäre schön wenn mir das jemand, simple erklären könnte. :)
 
M

MiDniGG

Gast
KeyListener der Anwendung hinzufügen.
keyPressed-Methode überschreiben, boolean auf true setzen und while-Schleife (am Besten in extra Thread) starten.
keyReleased-Methode überschreiben und boolean auf false setzen.
 
G

_Gerret_

Gast
Danke für deine Hilfe! :)

Soweit war ich auch schon, hab eher ein problem beim erstellen des KeyEvents und wie ich das keyPressed dann am besten verarbeite.

Java:
package test;

import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

public class Main {

    public static void main(String[] args) {
        KeyListener kl = new KeyListener();
        
        KeyEvent event = new KeyEvent(null, 0, 0, 0, 0);
        
        kl.keyPressed(event);
        
        while(ispressed){
            System.out.println("pressed");
        }
    }
}
(!!Fehler im Code!!)

Wie meinst du das mit überschreiben?

Das ergebniss sollte sein, dass ich das Programm ausführe (eclipse), das Programm in einem "IDLE" Modus, auf den Tastendruck wartet und die while Schleife solange ausführt wie die Taste gedrückt ist. Danach sollte er wieder im idle warten bis ich das programm stoppe.

Könntest du mir ein Beispiel zeigen (Falls es dir nicht zu viel arbeit ist ;))?
 
G

_Gerret

Gast
Das nicht. Aber ich kann das Programm ja ausführen, oder nicht? Robot funktionen haben so auch funktioniert.

Ich such eine methode, in der ich live abprüfe ob j gedrückt wird.
 

FerFemNemBem

Bekanntes Mitglied
Mahlzeit,

an Componenten kannst Du Keylistener konfigurieren, in der Konsole geht das wie gesagt nicht. Du koenntest evtl. kontinuierlich von System.in lesen und checken, ob "j" dabei ist.

Gruss, FFNB.
 
Zuletzt bearbeitet:
G

_Gerret_

Gast
Also von der console einlesen würde in meinem fall nicht funktionieren weil das programm im hintergrund liegen kann, soll aber trotzdem die schleife ausführen. Hab leider noch keine erfahrung mit dem KeyListener und kenn auch keine andere merhode mit der ich das problem lösen könnte.

Was schlägst du mir sonst vor?

mfg
 

FerFemNemBem

Bekanntes Mitglied
Mahlzeit,

dann wird es ja gleich extrem schwierig. Du moechtest also, auch wenn Dein Fenster (Konsole oder was auch immer) keinen Focus hat, die Tastatur abfragen z.B. wenn jemand in TextPad oder Browser eine Taste drueckt, reagieren. Quasi sowas wie ein Keylogger? Dann wirst Du um JNI nicht herumkommen.

Gruss, FFNB.
 
T

trööhööt

Gast
wie gesagt : an eine console kann man keine GUI-listener hängen ... dafür brauchst selbstverständlich GUI-klassen ... und wenn es doch im background laufen soll kommst du an einem global-keylogger nicht rum ...


mal davon abgesehen das es das thema hier schon mehr als mehrfach gab hattest du scheinbar einfach das problem das du nicht wusstest wonach du suchen sollst ...

aber da man die frage immer wieder liest hier der direkt link zu einem sehr einfach global-logger : Java – Global (low level) Keyboard / Mouse Hook – JNI kSquared.de – Blog
 
T

trööhööt

Gast
T

trööhööt

Gast
Falscher Post erwischt, meinte http://www.java-forum.org/codeschnipsel-u-projekte/65318-globaler-java-key-logger-windows.html

PS: trööhööt, geh wieder in die Ecke flennen :joke:

hmm .. nicht sonderlich super ...

grund : beigelegte DLL ist nur als x86 verfügbar und laut entwickler auch nur unter XP getestet ...
ist für heutige zeit nicht mehr angebracht ...
auch bin ich vom loader-code nicht überzeugt ... wenn man schon drauf hingewiesen wird das die dll im lib-path liegen muss ...
es gibt wunderbare beispiele wie sowas deutlich besser zu lösen ist ... man siehe JNA ... perfekter loader-code und hat für jede plattform die lib dabei ... und wurde auch unter diesen getestet ...

die von mir gelinkte lib ist sowohl x86 als auch x64 und für verschiedene plattformen geeignet ... dessweiteren auch unter mehreren plattformen getestet ...

nur mal so rein "objektiv" was meinen link von deinem unterscheidet
 

The_S

Top Contributor
hmm .. nicht sonderlich super ...

grund : beigelegte DLL ist nur als x86 verfügbar und laut entwickler auch nur unter XP getestet ...
ist für heutige zeit nicht mehr angebracht ...
auch bin ich vom loader-code nicht überzeugt ... wenn man schon drauf hingewiesen wird das die dll im lib-path liegen muss ...
es gibt wunderbare beispiele wie sowas deutlich besser zu lösen ist ... man siehe JNA ... perfekter loader-code und hat für jede plattform die lib dabei ... und wurde auch unter diesen getestet ...

die von mir gelinkte lib ist sowohl x86 als auch x64 und für verschiedene plattformen geeignet ... dessweiteren auch unter mehreren plattformen getestet ...

nur mal so rein "objektiv" was meinen link von deinem unterscheidet

Recht hat er. Wollte das schon lange mal updaten, hab aber einfach keine Zeit, sorry :-(. Aber schön zu wissen, dass es da jetzt eine bessere Alternative gibt, kann ich mir das auch sparen :).
 
G

_Gerret_

Gast
KK

danke FerFemNemBem für die hilfe
auch danke den anderen ;)

werd mir wohl was anderes überlegen müssen wie ich das überprüfe
mfg _Gerret_
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J While Schleife ausführen bis Zahl = X Allgemeine Java-Themen 19
W While Schleife funktioniert nicht ganz Allgemeine Java-Themen 4
H do-while Schleife funktioniert nicht wie ich es möchte Allgemeine Java-Themen 7
MangoTango Operatoren while-Schleife für Potenz Allgemeine Java-Themen 3
D While-Schleife - if Zweig unterbrechen Allgemeine Java-Themen 1
T String aus While Schleife für ganze Klasse sichtbar machen Allgemeine Java-Themen 5
M While-Schleife schneller, solange die Abbruchbedingung nicht vom Schleifeninneren abhängt Allgemeine Java-Themen 3
N Frage zur while-Schleife Allgemeine Java-Themen 18
S for-Schleife, while-Schleife Problem Allgemeine Java-Themen 6
R while schleife auf 3 durchgänge beschränken Allgemeine Java-Themen 6
V anstatt thread.join() einfach while schleife? Allgemeine Java-Themen 8
S Do-While Schleife bricht nicht ab Allgemeine Java-Themen 3
S Erste Schritte if-Anweisung in for- oder while-schleife umwandeln Allgemeine Java-Themen 3
T Rekursion mit While Schleife kombinieren? Allgemeine Java-Themen 4
J Thread pausieren, lange while-Schleife Allgemeine Java-Themen 8
W While-ESC-Schleife funktioniert nicht Allgemeine Java-Themen 3
H Threads.... ich will aus der While-Schleife raus Allgemeine Java-Themen 6
J Schachbrett mit for- oder while-Schleife Allgemeine Java-Themen 22
V Problem in While-Schleife Allgemeine Java-Themen 3
T getParameter in while schleife Allgemeine Java-Themen 3
O while - Schleife unterbrechen mit break; Allgemeine Java-Themen 5
M Problem mit while/do Schleife Allgemeine Java-Themen 12
B Try/Catch in While-Schleife mit Scanner - Hilfe! Allgemeine Java-Themen 3
F While(true)-Schleife im JPanel Allgemeine Java-Themen 9
N vergleich mit while und for schleife Allgemeine Java-Themen 7
M Keine weitere Eingabe in der Main möglich. Eventueller Ansatz über while. Allgemeine Java-Themen 8
C Schachbrett mit while-schleifen Allgemeine Java-Themen 7
A Swing Taschenrechner while Schlaufe Allgemeine Java-Themen 12
I NullPointer während while(){} Allgemeine Java-Themen 4
D ProcessBuilder und die while() Allgemeine Java-Themen 3
J Konsolen Anwendung mit while(true) Allgemeine Java-Themen 6
N while Schlauf und ActionEvent Allgemeine Java-Themen 2
L Exception auslösen, um while Schlaufe zu verlassen(rxtx.org) Allgemeine Java-Themen 6
B while mit BufferedReader beenden Allgemeine Java-Themen 5
T Verschachtelte For-Schleife gibt falschen Wert zurück, Abbruchbedingung evtl. falsch? Allgemeine Java-Themen 9
A verschachtelte for-Schleife in einen Stream umwandeln? Allgemeine Java-Themen 4
A Wie schreibe ich eine For-Schleife in ein Stream API um? Allgemeine Java-Themen 12
berserkerdq2 Wie synchronisiere ich eine for-Schleife Allgemeine Java-Themen 12
N Warum wird die For Schleife nicht betreten Allgemeine Java-Themen 4
M Schleife für einen TicTacToe Computer Allgemeine Java-Themen 5
Lukas2904 Schleife mit ansteuerung einer Klasse Allgemeine Java-Themen 5
A For-Schleife Allgemeine Java-Themen 5
J Algorithmen Analyse einer Schleife Allgemeine Java-Themen 6
1 Klassen Variabel aus Schleife übergeben Allgemeine Java-Themen 8
D "Automatisierte", variable verschachtele for-Schleife Allgemeine Java-Themen 9
F Schleife funktioniert nicht richtig Allgemeine Java-Themen 13
K For-Schleife <> oder != Operator verwenden? Allgemeine Java-Themen 2
J Einen Thread in einer Schleife Allgemeine Java-Themen 2
F Zweifache For-Schleife Allgemeine Java-Themen 6
P Operatoren Problem mit Zähler in recursiver Schleife Allgemeine Java-Themen 2
S Variablen String[] Array per schleife in int[] einlesen Allgemeine Java-Themen 8
D Methoden Buttons erscheinen doppelt nach Wiederholung in Schleife Allgemeine Java-Themen 1
RalleYTN Problem bei Schleife die durch einen 2D raum iterieren soll Allgemeine Java-Themen 1
T for - Schleife Allgemeine Java-Themen 1
R Komplizierte Schleife Allgemeine Java-Themen 1
Q For-Schleife in String-Value Allgemeine Java-Themen 3
F Abstrakte Klasse in "For each" Schleife Allgemeine Java-Themen 1
F for-Schleife auf Kommandoebene ausgeben Allgemeine Java-Themen 9
P Input/Output java.util.Scanner in einer Schleife und Exception-Behandlung: Einlesen einer Zahl Allgemeine Java-Themen 4
P Erweiterte For Schleife Allgemeine Java-Themen 7
D Arraylist/For Schleife/Scanner Allgemeine Java-Themen 30
Y automatisierte for Schleife Allgemeine Java-Themen 13
B For schleife und weiter? Allgemeine Java-Themen 8
D Probleme bei for-Schleife Allgemeine Java-Themen 4
L einfache Verzinsung mit for-Schleife & Ausschluss von Werten beim Einlesen Allgemeine Java-Themen 5
M for Schleife mit Swing Button abbrechen Allgemeine Java-Themen 7
M PdfPTable per for-Schleife befüllen Allgemeine Java-Themen 3
F for-Schleife mit : Allgemeine Java-Themen 5
S Pattern.Match Suche: For Schleife einbinden und in Liste schreiben Allgemeine Java-Themen 3
W Problem mit Index in einer for-Schleife Allgemeine Java-Themen 8
A Collections Array-Elemente in ArrayList kopieren ohne Schleife Allgemeine Java-Themen 7
P Variablen Auf durch for-Schleife generierte JComboBox zugreifen Allgemeine Java-Themen 3
F Foreach und for - Schleife Allgemeine Java-Themen 10
W Berechnung Durchschnitt mit Schleife Allgemeine Java-Themen 9
H Netbeans Warning bei Thread.sleep in Schleife Allgemeine Java-Themen 4
A java.lang.NullPointerException bei Schleife Allgemeine Java-Themen 3
S Erste Schritte Exception beendet Schleife nicht - Methode macht trotz throw weiter? Allgemeine Java-Themen 9
x22 for-Schleife Allgemeine Java-Themen 76
S Text in for Schleife in Label einfügen Allgemeine Java-Themen 4
J Schleife mit : Allgemeine Java-Themen 18
S Klassen in einer Schleife durchlaufen Allgemeine Java-Themen 11
E Schleife wird nicht ausgeführt!!! Allgemeine Java-Themen 8
C Schleife mit leerem Anweisungsblock wird trotz erfüllter Bedingung nicht verlassen Allgemeine Java-Themen 9
K CheckBox schleife Allgemeine Java-Themen 2
D Methoden Thread Schleife Status Allgemeine Java-Themen 7
J Verschiedene Klassen als "Object" in ArrayList und dann in for-Schleife erzeugen!? Allgemeine Java-Themen 2
R In einer for Schleife bei einem Substring anfangen, wo man davor aufgehört hat Allgemeine Java-Themen 6
D Sterne Muster mit einer Schleife Allgemeine Java-Themen 5
Dragonfire Code Konvention for-Schleife / return Allgemeine Java-Themen 15
hdi Detail-Frage zur for-Schleife Allgemeine Java-Themen 9
Q Variable aus Schleife/Switch benutzen Allgemeine Java-Themen 7
J Erweiterte For-Schleife mit Vector Allgemeine Java-Themen 5
C Geschachtelte For-Schleife: Äußere Schleife wird nur einmal durchlaufen!? Allgemeine Java-Themen 3
W return Collection mit schleife durchsuchen Allgemeine Java-Themen 10
calzone Warum wird nicht aus der Schleife gesprungen ? Allgemeine Java-Themen 2
lacyuu Schleife hängt sich auf, wieso?? Allgemeine Java-Themen 2
ModellbahnerTT Problem: Schleife über Textdatei Allgemeine Java-Themen 5
S Wie gross ist die Laufzeit für diese Schleife?? Allgemeine Java-Themen 8
I For- Schleife falsch? Allgemeine Java-Themen 8
T Schleife kurzzeitig anhalten Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben