kostenloser Webspace werbefrei: lima-city


JTextPane Funktion: Inhalt ändert sich

lima-cityForumProgrammiersprachenJava

  1. Autor dieses Themas

    toolz

    Kostenloser Webspace von toolz

    toolz hat kostenlosen Webspace.

    Ich suche nach einer Funktion, die aufgerufen wird, wenn sich der Inhalt eines JTextPane ändert.
    InputMethodTextChanged reagiert nicht auf Änderungen, KeyPressed, KeyReleased und KeyTyped reagieren zu früh, das bedeutet, dass die Funktion aufgerufen wird, sobald man eine Taste drückt, aber der Text noch nicht geändert wurde.
    CaretUpdate wird meines Wissens nach nur durch Mausklick ins Textfeld aufgerufen.
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. c****s

    Die InputMethodListeners werden nur genau dann aufgerufen, wenn dein JTextPane auch das Interface InputMethodRequest implementiert. Bedenke, dass JTextPane dafür gedacht ist, wenn du eigene light-weight Eingabewidgets programmieren willst. Also davon ableitest, die ganze InputMethod-Architektur zu Fuß implementierst und dann instantiierst. Für eine direkte Instantiierung war diese Klasse nie gedacht.
    Bei JTextArea hingegen kannst du ohne Probleme einen TextListener hinzufügen, der das tut was du vorhast.

    Also 2 Möglichkeit:
    Du benutzt JTextPane und implementierst InputMethodRequest.
    oder
    Du benutzt JTextArea.
  4. hi! also ich benutze den DocumentListener. Beispiel:

    // ...
    textPane.getDocument().addDocumentListener(new DocumentListener() {
        public void changedUpdate(DocumentEvent e) {
            //...
        }
    
       public void insertUpdate(DocumentEvent e) {
          //...
       }
    
       public void removeUpdate(DocumentEvent e) {
         //...
       }
    });
    
    // ...


    Mit den Methoden getLength() und getOffset() des DocumentEvents kannst du dann rausfinden an welcher stelle das Document geändert wurde und dir demensprechend dann auch den Text aus dem Document ziehen.

    Gruß
    Lukas
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!