Hallo,
ich habe einen Listener für SWT-Text, der die eingegebenen Zeichen zähl und ein Label entsprechend verändert. Außerdem soll bei der Eingabe die updateButtons()-Methode eines JFace-Wizards aufgerufen werden, um die entsprechenden Buttons zu aktivieren bzw. deaktivieren.
Das Ganze funktioniert auch soweit, solange man die Text(felder) nicht programatisch füllt. Tut man dies, so bekomm ich an der Stelle "getWizard().getContainer().updateButtons()" eine Nullpointer-Exception und die Labels zeigen immer das Text-Limit an, d.h. die Variable charCount = 0. Das leuchtet mir auch noch ein, da kein Event eintritt. Kann man das beim setText() erzwingen?
Vielen Dank für eure Hilfe!
ich habe einen Listener für SWT-Text, der die eingegebenen Zeichen zähl und ein Label entsprechend verändert. Außerdem soll bei der Eingabe die updateButtons()-Methode eines JFace-Wizards aufgerufen werden, um die entsprechenden Buttons zu aktivieren bzw. deaktivieren.
Das Ganze funktioniert auch soweit, solange man die Text(felder) nicht programatisch füllt. Tut man dies, so bekomm ich an der Stelle "getWizard().getContainer().updateButtons()" eine Nullpointer-Exception und die Labels zeigen immer das Text-Limit an, d.h. die Variable charCount = 0. Das leuchtet mir auch noch ein, da kein Event eintritt. Kann man das beim setText() erzwingen?
Vielen Dank für eure Hilfe!
Code:
text.addListener(SWT.Verify, new Listener() {
public void handleEvent(Event event) {
int charCount = text.getCharCount();
getWizard().getContainer().updateButtons();
int availableChars = textLimit - charCount;
label.setText(getResource().getString("character.counter") +": "+ availableChars);
}
});