Действие Java выполняется при вводе текста в текстовое поле - PullRequest
1 голос
/ 03 мая 2010

Мне интересно, может ли кто-нибудь мне помочь. Я ввел символ в текстовую область с помощью кнопки и хочу использовать строку, введенную в текстовую область, для извлечения слов из списка. Имейте в виду, что может быть введено множество символов. Возможно ли для текстовой области определить, когда был введен текст, и обработать его?

Ответы [ 3 ]

1 голос
/ 03 мая 2010

Вы можете добавить DocumentListener к вашей JTextArea;

class YourClass {
   ...
   public void attachTextAreaToPanel(JPanel panel) {
      JTextArea textArea = new JTextArea();
      textArea.getDocument().addDocumentListener(new MyDocumentListener());
      panel.add(textArea);
   }
}

class MyDocumentListener extends javax.swing.event.DocumentListener {
   public void changedUpdate(javax.swing.event.DocumentEvent e) {
      // text has been altered in the textarea
   }
   public void insertUpdate(javax.swing.event.DocumentEvent e) {
      // text has been added to the textarea
   }
   public void removeUpdate(javax.swing.event.DocumentEvent e) {
      // text has been removed from the textarea
   }
}

Правка, для этого необходимо использовать Swing, а не AWT.

0 голосов
/ 03 мая 2010

Реализует TextListener для этого textarea. Тогда используйте условия.

В противном случае реализует ActionListener для вашего button. Затем укажите нужное действие, нажимая кнопку.

0 голосов
/ 03 мая 2010

Я полагаю, вы хотите использовать JTextArea?

посмотрите на:

http://java.sun.com/docs/books/tutorial/uiswing/components/textarea.html

Есть часть, которая именно то, что вы ищете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...