Java эквивалентный событию C # TextBox TextChanged - PullRequest
5 голосов
/ 04 января 2012

в C # есть событие для текстовых полей следующим образом

private void fooText_TextChanged(object sender, EventArgs e)
{
    //do something 
}

код в fooText_TextChanged запускается после изменения текста в текстовом поле.

Что такое Java-эквивалент? Или как можно добиться чего-то подобного в Java?

Спасибо за любые отзывы / помощь / советы.

Ответы [ 2 ]

11 голосов
/ 04 января 2012

Для Swing. Если вы хотите получать уведомление после текста текстового компонента, изменившегося, вы будете использовать DocumentListener, который был добавлен в Документ JTextComponent.Например,

  JTextField myField = new JTextField();

  myField.getDocument().addDocumentListener(new DocumentListener() {

     public void removeUpdate(DocumentEvent e) {
        // TODO add code!

     }

     public void insertUpdate(DocumentEvent e) {
        // TODO add code!

     }

     public void changedUpdate(DocumentEvent e) {
        // TODO add code!

     }
  });

Если, с другой стороны, вы хотите проверить текст до того, как будет зафиксирован в текстовом компоненте, вы добавите DocumentFilter в Документ JTextComponent.

4 голосов
/ 04 января 2012

Я рекомендую зарегистрировать DocumentListener в документе компонента . Здесь вы будете слушать DocumentEvent с.

...