Blinkender Textcursor in Textfeld / Konsolensimulation

DeeJTwoK

Erfahrenes Mitglied
Hallo, ich möchte eine DOS-Konsole simulieren.
Dafür will ich, dass der Textcursor nicht als normaler dünner Strich dargestellt wird, sondern als dicker Block, der ein gesamtes Zeichen einnimmt oder als Unterstrich. Ich weiss nicht welche Version realisierbar ist. Bin mit beiden zufrieden.
Bisher habe ich mit einer Swing JTextArea und einer AWT TextArea gearbeitet und versucht das "blinken" durch einen Thread zu realisieren, der immer wieder ein Zeichen anhängt und das wieder löscht.
Diese Version hat aber den Nachteil, dass man nicht mehr vernünftig hochscrollen kann, weil der Fokus immer ganz unten ist.

Ist es möglich das irgendwie geschickter zu lösen? Ich hoffe das ist mit den Caret-Methoden irgendwie möglich, blicke da aber nicht durch.

Vielen Dank im Vorraus,
Dominik
 
Hallo Dominik,

für einen eigenen Caret müsstest du eine Klasse schreiben die das Interface Caret implementiert (Hinweis: ca. 15 Methoden).
http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/text/Caret.html

Natürlich geht es auch einfacher :) . Die zweite Variante ist, du schreibst eine Klasse die von DefaultCaret erbt.
http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/text/DefaultCaret.html

Hierzu ein Paar Beispiele:
http://java.sun.com/developer/TechTips/1999/tt0511.html
http://maven.smith.edu/~jfrankli/220s04/jswing2/ch21/CornerCaret.java
http://maven.smith.edu/~jfrankli/220s04/jswing2/ch21/FancyCaret.java


Vg Erdal
 
Zurück