Eingabe in 'Echtzeit'

snoo
Erstie
Erstie
Beiträge: 18
Registriert: 18. Jun 2012 20:58

Eingabe in 'Echtzeit'

Beitrag von snoo » 22. Sep 2012 21:38

Hallo,

Wir hatten sowohl im AI1 als auch im AI2 Projekt ein Programm programmiert, welches zu bestimmten Zeitpunkten eine Tastatureingabe vom Benutzer forderten und dann dementsprechend gehandelt hat. Dies lief beides Mal mehr oder weniger rundenbasiert. Bei dem Kartenspiel lag deckte sich das mit der Natur bzw. dem Prinzip des Spiels selber, beim Roboterprojekt aus AI1 allerdings nicht wirklich.
Meine Frage ist nun, ob und wie man in Java eine Echtzeit-Eingabe programmiert, die es zum Beispiel ermöglicht zu beliebigen Zeitpunkten bestimmte Dinge ausführen zu lassen. Unterteilt das Programm dann die 'Echtzeit`einfach in Millisekunden-Invervalle in denen es immer guckt, ob Tastatureingaben erfolgen oder wie läuft so etas ab? Das Programm dürfte doch dann ständig nur an der Stelle im Bytecode sein, indem es um diese Eingabeaufforderungen geht oder nicht?

Danke im Vorraus.

Benutzeravatar
mmec
Sonntagsinformatiker
Sonntagsinformatiker
Beiträge: 203
Registriert: 7. Sep 2011 17:59
Wohnort: Darmstadt

Re: Eingabe in 'Echtzeit'

Beitrag von mmec » 22. Sep 2012 22:41

Hallo snoo,

also in Java kann man ja GUIs(Graphical User Interface) programmieren, dort könnte man z.B. ein Textfeld einbauen, was ein Standartelement in der Java Swing Bibliothek ist. Die einzelnen Elemente sind dort Objekte die man selbst anlegt. Zu einem Textfeld kannst du dann einen ActionListener hinzufügen der eine Methode ausführt wenn eine Aktion ausgeführt wurde. Damit kannst du dann dafür sorgen dass mit deinem eingegebenem Text eine bestimmte Methode aufgerufen wird. Dort müsstest du dann nicht immer einen eigenen Dialog aufrufen.
Zur Programmierung von Grafischen Oberflächen findest du bei Oracle einige Tutorials z.B.:
How to Use Text Fields

Und hier ist auch ein Beispiel welches immer die aktuell gedrückte Taste anzeigt, da solltest du dir das raussuchen können was du brauchst:
How to Write a Key Listener
Wenn du dieses Beispiel umänderst kannst du auch dafür sorgen dass du nicht das Textfeld markieren musst um die aktuelle Taste angezeigt zu bekommen.

Wikipedia sagt dass Java dafür im Hintergrund die Eingaben überwacht:
Event Dispatching Thread
Parallele Programmierung

Falls du mit der GUI Programmierung anfangen möchtest, such dir am besten ein geeignetes Tutorial im Internet, ggf. ist ein deutschsprachiges hilfreicher.
Oracle selbst bietetJava GUI Tutorials an, aber ich habe das Gefühl dass diese nicht so Einsteigerfreundlich sind. Außerdem ist "Java ist auch eine Insel" von Christian Ullenboom hilfreich und eine gute Einführung ist auch in dem Buch "Java lernen mit BlueJ" von David J. Barnes und Michael Kölling vorhanden, jedoch geht diese nicht besonders tief.

Grüße, Johannes
FC SEEMOO No.1

snoo
Erstie
Erstie
Beiträge: 18
Registriert: 18. Jun 2012 20:58

Re: Eingabe in 'Echtzeit'

Beitrag von snoo » 22. Sep 2012 23:25

Hallo Johannes,

Tausend Dank. Das waren die Anstöße nach denen ich gesucht hatte. Beide Bücher kenne ich auch, nur die Fülle an Themen ist so gigantisch, dass ich einfach nicht wusste wonach ich zu suchen hatte.

Liebe Grüße,
snoo

Antworten

Zurück zu „Archiv“