Tastendruck zurücksetzen

Blex93

Neues Mitglied
Hallo,
ich müss für die Uni ein kleines "Spiel" programmiern, bei dem es nötig ist eine Tasteneingabe zu erkenne.
Das habe ich mit:
Code:
tastendruck = System.in.available();
programmiert.
Das Programm soll solange etwas auf dem Bildschirm ausgenben, bis eine Taste gedrückt wird.
Also bis meine Variable "tastendruck" einen von 0 unterschiedlichen wert hat.
Java:
while (tastendruck == 0)
{
	system.out.print("Y");
	Thread.sleep(250);
	tastendruck = System.in.available();
}

Wie kann ich nun dem brogramm wieder mitteilen, dass nach dieser Schleiche
Code:
System.in.available()
wieder den Wert "0" annehmen soll?

Ich hoffe ihr könnt mir helfen.

Mfg Blex
 
Zuletzt bearbeitet:

turtle

Top Contributor
Die Konsole liest normalerweise ganze Zeilen ein und du müsstest der Konsole beibringen, bereits einzelne Tastendrücke zu melden.

Das geht meines Wissens nicht.

Du kannst aber in einer GUI-Applikation einen KeyListener implementieren.
Java:
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.io.IOException;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class A extends JPanel implements KeyListener {
	public A() {
		addKeyListener(this);
		setFocusable(true);
		requestFocusInWindow();
	}

	public static void main(String[] args) throws InterruptedException, IOException {
		JFrame frame = new JFrame("turtle");
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.add(new A());
		frame.pack();
		frame.setVisible(true);
	}

	@Override
	public void keyTyped(KeyEvent e) {
		System.out.println("keyTyped");
	}

	@Override
	public void keyPressed(KeyEvent e) {
		System.out.println("keyPressed");
	}

	@Override
	public void keyReleased(KeyEvent e) {
		System.out.println("keyReleased");
	}
}
 
Zuletzt bearbeitet:

Kalthoras

Neues Mitglied
Hallo, ich sitze vor dem gleichen Problem!

das mit der GUI-Applikation und einen KeyListener kommt nicht in Frage, da ich das nicht kenne und wir das auch noch nicht als Thema behandelt haben.

Kennt jemand noch eine andere Möglichkeit
das
Java:
(System.in.available()==0)
sich beim Wiederholen auf 0 setzt und eine neue Abfrage möglich ist?!?
 

DrZoidberg

Top Contributor
Du kannst System.in.available auf 0 zurücksetzen, indem du System.in.read() solange aufrufst bis available() wieder auf 0 ist. Das Problem bei der ganzen Sache ist aber, dass du die Enter Taste drücken musst, damit es funktioniert, da ansonsten die Tastendrücke zwar intern vom Betriebssystem gepuffert, aber nicht an System.in weitergeleitet werden.
Wenn dein Programm auf alle Tastendrücke sofort reagieren soll, muss es entweder eine GUI Applikation sein, oder aber du benutzt eine externe Library wie JLine.
Damit geht das sehr einfach auch in der Konsole.
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Wie kann ich Images per Tastendruck anzeigen/einfügen? Java Basics - Anfänger-Themen 3
F Langer Tastendruck bei Fernbedienung Java Basics - Anfänger-Themen 3
T Tastendruck simulieren Java Basics - Anfänger-Themen 13
S Beliebigen Tastendruck "einlesen" (ohne Konsole) Java Basics - Anfänger-Themen 3
TheSorm java Schleife beenden per Tastendruck Java Basics - Anfänger-Themen 10
C Greenfoot: Bei Tastendruck und best. Wert Bild ändern Java Basics - Anfänger-Themen 2
P Klassen Bei KeyEvent in KeyListener den Tastendruck abbrechen Java Basics - Anfänger-Themen 5
X Erste Schritte Spielstart per Tastendruck Java Basics - Anfänger-Themen 10
U Thread reagiert nicht sofort auf Tastendruck Java Basics - Anfänger-Themen 14
T Tastendruck simulieren in JPanel Java Basics - Anfänger-Themen 3
Draculajr Tastendruck abwarten Java Basics - Anfänger-Themen 5
H Tastendruck simulieren | SendKeys Java Basics - Anfänger-Themen 12
S Schleife per Tastendruck abbrechen Java Basics - Anfänger-Themen 7
R Aktion bei Tastendruck Java Basics - Anfänger-Themen 5
E Programmsteuerung per Tastendruck Java Basics - Anfänger-Themen 4
G Tastendruck Java Basics - Anfänger-Themen 13
S Tastendruck abweisen Java Basics - Anfänger-Themen 7
T reaktion auf Tastendruck Java Basics - Anfänger-Themen 2
M Tastendruck. Java Basics - Anfänger-Themen 2
P String zu Date bei jedem Tastendruck parsen Java Basics - Anfänger-Themen 3
S Attribute zurücksetzen? Java Basics - Anfänger-Themen 2
M Textfeld zurücksetzen Java Basics - Anfänger-Themen 3
M Checkbox abfragen und Radiobutton Group zurücksetzen Java Basics - Anfänger-Themen 1
N Klassenvariablen zurücksetzen Java Basics - Anfänger-Themen 4
P Methode zum zurücksetzen eines Objekts Java Basics - Anfänger-Themen 1
M Fangspiel-Probleme (JLabel, Objekt zurücksetzen) Java Basics - Anfänger-Themen 3
D ListIterator auf Anfang zurücksetzen Java Basics - Anfänger-Themen 2
B Passwort zurücksetzen Java Basics - Anfänger-Themen 1
K JButton alles zurücksetzen Java Basics - Anfänger-Themen 1
P Variablen zurücksetzen Java Basics - Anfänger-Themen 14
C Felder im Dialog zurücksetzen Java Basics - Anfänger-Themen 3
A JButton ActionListener nach einmaligem Ausführen zurücksetzen Java Basics - Anfänger-Themen 13
A Taschenrechner zurücksetzen Java Basics - Anfänger-Themen 2
A GUI zurücksetzen Java Basics - Anfänger-Themen 9
G ArrayList zurücksetzen? Java Basics - Anfänger-Themen 17
P JFormattedTextField auf Ausgangszustand zurücksetzen? Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben