[java] JTextArea CaretListener toevoegen

Pagina: 1
Acties:

  • JeroenTheStig
  • Registratie: Mei 2000
  • Laatst online: 05:55
Ik ben bezig om een tooltje te bouwen waarin een log wordt bijgehouden in een JTextArea. Ik wil nu een listener toevoegen aan het JTextArea object om te checken wanneer de gebruiker de content wijzigt in de JTextArea. Ik ben daarom bezig om de CaretListener te leren begrijpen.

een kort stukje code wat ik op dit moment heb:

Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Foo {
  private JTextArea _textArea;

  public Foo(JTextArea textArea) {
    _textArea = textArea;
    _textArea.addCaretListener(new LogAreaListener());
  }

  ...
  ...

  private class LogAreaListener implements CaretListener {
    public void caretUpdate(CaretEvent e) {
      // wat moet ik met die e doen?
    }
  }
}


Ik heb op http://java.sun.com/j2se/.../text/JTextComponent.html een schema'tje gevonden waarin de verschillende events worden uitgelegd, bijvoorbeeld wanneer de contents wordt gewijzigd, maar ik weet niet wat ik er mee moet doen. Kan iemand mij verder op weg helpen?

[ Voor 22% gewijzigd door JeroenTheStig op 04-05-2005 11:01 ]


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Ik zou een DocumentListener gebruiken :)

  • JeroenTheStig
  • Registratie: Mei 2000
  • Laatst online: 05:55
Alarmnummer schreef op woensdag 04 mei 2005 @ 11:01:
Ik zou een DocumentListener gebruiken :)
Hmm... dus ik zou dus het Document object uit de textarea moeten halen en hier een listener aan moeten hangen? Dat scheelt natuurlijk een hoop gedonder :)

edit: dat helpt me in ieder geval weer verder op weg. Thanx A :)

[ Voor 10% gewijzigd door JeroenTheStig op 04-05-2005 11:07 ]


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Boktor schreef op woensdag 04 mei 2005 @ 11:03:
Hmm... dus ik zou dus het Document object uit de textarea moeten halen en hier een listener aan moeten hangen? Dat scheelt natuurlijk een hoop gedonder :)
Zo luister ik wel naar changes in documents :) Het document is tenslotte het presentation model van de presentation (view)

Verwijderd

Met een CarentEvent kun je op zich niet zo veel, zoals ook blijkt uit de documentatie. Je kunt enkel de nieuwe caretpositie opvragen, waar je dus niks aan hebt, omdat de content niet per se veranderd hoeft te zijn. Dit zou je dan handmatig kunnen checken, maar het lijkt me sowieso handiger om een DocumentEvent te gebruiken, zoals AlarmNummer al aangeeft.