JTextArea und consume()

  • Themenstarter Themenstarter Daja2
  • Beginndatum Beginndatum
D

Daja2

Hallo,

habe eine JTextArea, an der ein KeyListener angemeldet ist,
dieser soll dann bei jedem Buchstaben der eingetippt wird diesen überprüfen, und wenn es ein kleiner Buchstabe ist diesen Umwandeln.
Das funktioniert auch soweit, nur leider schreibt er dann in die
TextArea den Buchstaben Groß, gefolgt von dem kleinen buchstaben.
Und das obwohl ich in der keyPressed() Methode consume() aufrufe!?

Das gleiche mache ich auch bei einer ReturnAnweisung diese wird durch consum() geschluckt, die Buchstaben nicht. Woran könnte das liegen?
Oder gibt es eine ander Möglichkeit die Buchstaben Umzuwandeln

Hier ein Codeausschnitt


else if((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'))
{
ef.buchstabenUmwandeln(c);
e.consume();
}

public void buchstabenUmwandeln(char c)
{
if(c >= 'a' && c <= 'z')
{
int pos = aktuelleJTextArea.getCaretPosition();
String s = ""+ c;
aktuelleJTextArea.insert(s.toUpperCase() ,pos);
}


wäre für jede Hilfe Dankbar


MfG Daja
 
hi,
insert() fügt text an die gegebene Stelle ein, überschreibt ihn aber nicht..
verwede stattdessen
Code:
replaceRange(String str,int start,int end)

*grüssle*
MeinerEiner
 
Zurück