T
TestTest
Gast
Hallo zusammen.
Ich schreibe mir gerade einen kleinen Structogrammeditor. Dazu benutze ich JTextPane.
Ich hab die klasse erweitert. Meine Klasse heißt jDrawableTextPane.
Mein Problem:
Ich möchte jetzt die Tastatureingabe abfangen. Ich dachte wenn ich das Interface KeyListener implementiere und die Methoden überschreibe, dann müsste ich eigentlich die volle Kontrolle über die Tastatureingabe haben. Das ist jedoch nocht der Fall. Der Code den ich z.b. in key pressed geschrieben habe wird bei drücken einer taste ausgeführt. Allerdings wird ebenfalls das Zeichen in die JTextPane gesetzt obwochl das nicht gecoded habe. Das setzen oder löschen eines Zeichens will ich jetzt bei einer bestimmten Bedingung unterdrücken was ich aber nicht kann.
Meiner Meinung muss es also noch eine weitere Methode geben, die sozusagen das setzen der Zeichen übernimmt. Kann mir einer weiterhelfen. Ist doch eigentlich ganz einfach oder
Hier die relevanten ausschnitte aus meinem Quellcode
Ich schreibe mir gerade einen kleinen Structogrammeditor. Dazu benutze ich JTextPane.
Ich hab die klasse erweitert. Meine Klasse heißt jDrawableTextPane.
Mein Problem:
Ich möchte jetzt die Tastatureingabe abfangen. Ich dachte wenn ich das Interface KeyListener implementiere und die Methoden überschreibe, dann müsste ich eigentlich die volle Kontrolle über die Tastatureingabe haben. Das ist jedoch nocht der Fall. Der Code den ich z.b. in key pressed geschrieben habe wird bei drücken einer taste ausgeführt. Allerdings wird ebenfalls das Zeichen in die JTextPane gesetzt obwochl das nicht gecoded habe. Das setzen oder löschen eines Zeichens will ich jetzt bei einer bestimmten Bedingung unterdrücken was ich aber nicht kann.
Meiner Meinung muss es also noch eine weitere Methode geben, die sozusagen das setzen der Zeichen übernimmt. Kann mir einer weiterhelfen. Ist doch eigentlich ganz einfach oder
Hier die relevanten ausschnitte aus meinem Quellcode
Java:
public class jDrawableTextPane extends JTextPane implements KeyListener, CaretListener
{
public jDrawableTextPane()
{
super();
str_two_char_bef = ""; /* was hier steht ist nicht wichtig*/
str_two_char_aft = "";
ll_draw_lines = new LinkedList();
}
/* init operation übernimmt das hinzufügen der listener */
public void init()
{
addKeyListener(this);
addCaretListener(this);
}
@Override
public void keyTyped(KeyEvent e)
{
/* Hier seht mein Code */
}
@Override
public void keyPressed(KeyEvent e)
{
/* Hier seht mein Code */
}
@Override
public void keyReleased(KeyEvent e)
{
/* Hier seht mein Code */
}