Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Wir müssen ein Testat in Java abgeben, indem wir mehrere 2D Objekte (Viereck, Text etc.) in einem definierten Rechteck mittels Tastendruck bewegen sollen. Das ganze soll als ein einfaches Java-Programm im DOS Fenster laufen und das Bild baut sich nach jeder Tasteneingabe neu auf.
Es läuft soweit ganz gut, nur möchte ich die Objekte mit den Pfeiltasten bewegen und hab keinen Schnall wie
Bis jetzt hab ich es wie folgt gelöst:
Code:
System.out.println("");
System.out.println(" In welche Richtung moechten Sie " + text + " verschieben?");
System.out.println(" links (l), rechts (r), hoch (h), runter (u)");
System.out.println(" Zurueck bitte z eingeben");
try
{
benutzereingabe = in.readLine();
}
catch (Exception e)
{
}
// links verschieben
if (benutzereingabe.equals("l"))
{
// überprüfen ob es passt
if (Obj.passtEs(0,-1))
{
//löschen
Obj.lösche();
// neue Koordinaten setzen
Obj.setzeKoord(0,-1);
}
}
etc....
Wäre nett wenn mir jemand sagen könnte, wie ich statt Buchstaben die Pfeiltasten "abfangen" kann??
So ein DOS-Fenster sendet lediglich eingegebene Buchstaben, und auch die erst, wenn man ENTER drückt. Also die Pfeile kannst du meines Wissens nicht abfangen, dazu würdest du ein echtes Java-Fenster benötigen.
ui, ich dachte in Java wäre es gar nicht möglich von der Konsole einzelne Zeichen einzulesen sondern
immer nur ganze Zeilen die mit Enter abgeschlossen wurden
so klingt es ja auch bei dir mit in.readLine()
andererseits sagst du 'das Bild baut sich nach jeder Tasteneingabe neu auf'
ja wie ist das denn nun, kommt jedes Zeichen direkt in das Programm oder erst nach Enter-Eingabe?
----------
im letzteren Fall siehst für die Pfeiltasten schlecht aus, die werden in der benutzten Konsole
nicht als Zeichen ausgegeben sondern dort zur Bewegung genutzt so dass der eingegebene Text sogar noch
modifiziert werden kann bevor das abschließende Enter kommt
Ui! Das geht ja fix hier Danke für die schnellen Antworten.
Man muss jede Eingabe mit Enter bestätigen! Das Bild baut sich nach jeder Bewegung neu auf, also nachdem ein Objekt mittels Tasteneingabe bewegt wurde.
Schade, dass das nicht geht. Ich werde dann einfach Zahlen nehmen, halt wie auf dem Ziffernblock...
überleg dir einfach was du ein einem Editor, in eine einfache Textdatei schreiben könntest,
genau das ist auch der Umfang für Konsoleneingaben, alle darstellbaren Zeichen,
und Pfeiltasten, F-Tasten, Alt, Entf usw. gehören da nun mal normalerweise nicht dazu