Java Menü über Telnet-Verbindung realisieren

CPU

Lieutenant
Registriert
Jan. 2006
Beiträge
704
Hallo,

mit Java einen Server zu schreiben, den man über Telnet ansprechen kann (d.h. einfach eine zeichenorientierte Verbindung) ist ja nicht schwer.

Nun möchte ich ein grafisch ansprechendes Menü erzeugen (ähnlich wie z.B. das Linux-Tool "dialog") oder Konsolen-Art betreiben. Dazu brauche ich ja u.a. Informationen über Konsolenbreite und -höhe und muss jeden einzelnen Charakter setzen können. Zusätzlich noch Farben setzen können ...

Nun schwirrt da bei mir ein Schlagwort durch den Kopf "VT-100". Keine Ahnung was das ist! Nun und es gibt ein Java-Telnet-Server (Jalita) der das auch kann.

Aber wie funktioniert das genau? Kann ich mir ein eigenes kleines Out-Of-The-Box Beispiel schreiben, dass selbstständig funktioniert? Woher bekomme ich Informationen wie das geht?

Gruß,
CPU
 
Die Überschrift ist totaler Mumpitz.
Dein Text ist auch nicht besser und was ich absolut nicht verstehe ist, du möchtest also einen grafischen Client programmieren und hast angeblich schon einen Server, woher auch immer und erwähnst dann Jalita, was ein Server ist, in welchem zusammenhang? Es klingt immer so als würdest du denken der Server würde die Grafik anzeigen.

Es klingt absolut so als hättest du keine Ahnung, irgendwo ein Serverbeispiel gefunden, das zum laufen gebracht und suchst nun noch einen Universalclient, der alles kann was du willst, VOODOO, und den du dann als deinen Eigenen ausgeben kannst.

Genausowenig interessieren den Server die Konsolenbreite. Der liefert dir den Text, wie du den Anzeigst ist dir und deinem Client überlassen.

Die Informationen wie das geht bekommst du von "selbstständig Lernen wie man programmiert". Erst mit den Basics anfangen. Wenn es schon an der Gestalltung eines Ascii basierten Clients scheitert, dann solltest du driiiiiiiiiiiiiiiiiiiiiiiiiingend nochmmal von vorne anfangen, denn das ist so das Allerallerallerallererste was man bei der Programmierung lernt.
 
Es tut mir sehr leid, dass ich mich missverständlich ausgedrückt habe!

Folgendes: Ich habe einen Java-Server (über ServerSocket, selber geschrieben!). Nun kann ich mit dem Befehl telnet in der Konsole eine Zeichenverbindung zu dem Server aufbauen und mit ihm interagieren (Zeichen schicken und zeichen empfangen).

Nun möchte ich ein bisschen mehr Grafik in diese zeichenorientierte Verbindung bringen. Sprich ich will ein Text-User-Interface bauen, so wie es Jalita bereit stellt.

Dabei hat es doch sicherlich etwas mit VT-100 zu tun (vermute ich) und irgendwelchen ominösen Escape-Zeichen und ähnlichem, die ich über die zeichenorientierte Verbindung schicke, um textbasierte Buttons zu realisieren. Und wie das genau funktioniert interessiert mich!

Kurz: mich interessiert wie Jalita funktioniert!

Ist das so verständlicher?

Gruß,
CPU
 
Geht doch.

Das ist ziemlich simple.
Ein Weg wäre das Bild jedes mal neuzuzeichnen, also alle Zeichen nochmal zu übertragen und jeweils, je nach Tastendruck, den Cursor an die entsprechende Stelle zu zeichnen.

Ungefähr so:
X = Cursorpos

____________
X

____________

Pfeil nach unten gedrückt:
____________

X
____________


Wäre aber häßlich, da du eben nicht wie bei VT-100 eine Feste Konsolenauflösung hast und das von der Telnet Userfenstergröße abhängt.
Oder halt über escape-Zeichen direkt per position setzen. Das ist aber alles nicht mehr wirklich aktuell und sehr nervig.
 
GrinderFX schrieb:
Wäre aber häßlich, da du eben nicht wie bei VT-100 eine Feste Konsolenauflösung hast und das von der Telnet Userfenstergröße abhängt.
Oder halt über escape-Zeichen direkt per position setzen. Das ist aber alles nicht mehr wirklich aktuell und sehr nervig.

Genau das meine ich! Darüber will ich mehr wissen.

Wie komme ich an eine feste Konsolenauflösung (d.h. was muss ich dem Client meines Servers übertragen? Wie setze ich das?) ? Wie setzte ich die Position über escape-Zeichen (ich kenne nur \r für carriage return = Anfang der Textzeile und \n für neue Zeile)?

Wenn das nicht mehr aktuell ist, wie wird heute z.B. in SSH-Verbindungen gearbeitet?

Gruß,
CPU
 
Zurück
Oben