Hallo!
Ich habe ein kleines Problem:
Ich habe an eine JTextArea eine KeyListener gehängt, der folgende Methode aufruft:
Die Methode soll immer wenn TAB gedrückt wird an eine bestimmte Stelle der JTextArea springen und die übersprungenen Zeichen mit Leerzeichen auffüllen.
Das funktioniert auch alles prima, nur wird anscheinend noch die normale Methode von TAB aufgerufen und der setzt mir ein Tab in die JTextArea. Ich habe schon versucht mit:
Das zu umgehen und es passt augenscheinlich auch, nur wenn ich dann den Text mit einer Schleife durchgeh und nach TABs suche findet er immer noch welche und das ist in mienem restlichen Programm schlecht, da ich nur Leerzeichen dazwischen haben will.
Hoffe jemand kann mir sagen wie man das austellen kann, dass die normale TAB methode aufgerufen wird, oder dass jemand eine andere Idee hat, wie man das lösen könnte.
Danke schon mal
Gruß
Micha
Ich habe ein kleines Problem:
Ich habe an eine JTextArea eine KeyListener gehängt, der folgende Methode aufruft:
Code:
public void tasteGedrueckt(KeyEvent evt){
if(evt.getKeyCode()==KeyEvent.VK_TAB){
String txt=this.AliTar.getText();
String adding="";
int stelle=0;
int actLine=this.AliTar.getLineCount()-1;
try{
stelle=this.AliTar.getLineEndOffset(actLine)-this.AliTar.getLineStartOffset(actLine);//wo bin ich innerhalb der Zeile?
}catch(Exception x){}
if(stelle<9){//Soll bis zur Stelle 9
while((9 - stelle)>0){
adding=adding+" ";
stelle++;
}
}else if(stelle<16){//Soll bis zur Stelle 16
while((16 - stelle)>0){
adding=adding+" ";
stelle++;
}
}
this.AliTar.setText((txt+adding));
}
}
Die Methode soll immer wenn TAB gedrückt wird an eine bestimmte Stelle der JTextArea springen und die übersprungenen Zeichen mit Leerzeichen auffüllen.
Das funktioniert auch alles prima, nur wird anscheinend noch die normale Methode von TAB aufgerufen und der setzt mir ein Tab in die JTextArea. Ich habe schon versucht mit:
Code:
this.AliTar.setTabSize(0);
Hoffe jemand kann mir sagen wie man das austellen kann, dass die normale TAB methode aufgerufen wird, oder dass jemand eine andere Idee hat, wie man das lösen könnte.
Danke schon mal
Gruß
Micha