Является ли JTextArea подходящим классом для моей цели?

Я хочу создать текстовую область, в которой пользователь вводит некоторый текст, нажимает ввод, и этот текст отправляется классу, который что-то с ним делает (например, изменяет порядок слов), затем отредактированный текст отображается на следующей строке в текстовой области.

Кроме того, если пользователь пишет что-то в строке после первого редактируемого текста и снова нажимает ввод - в класс редактирования отправляется только эта последняя строка. Пользователь также должен иметь возможность редактировать все строки, если он этого хочет. Что-то вроде текстовой области в Wolfram Mathematica, если люди ее знают.

Я новичок в Java и понятия не имею, нужно ли мне использовать JTextArea и самому разрабатывать какой-то класс, который будет это делать, или уже есть что-то, что могло бы мне помочь.


person ThunderBiggi    schedule 26.06.2012    source источник


Ответы (2)


С JTextArea это возможно, но я бы создал новый класс, который расширяет JTextArea.

person duffy356    schedule 26.06.2012

Да, вы можете сделать это с помощью JTextArea. Я бы не стал расширять его, как предлагалось ранее, но я бы добавил KeyListener и реализовал интересующие вас конкретные методы. Например, вас интересует, когда набирается Enter; поэтому вы можете сделать что-то вроде этого:

public void keyTyped(KeyEvent e) {
  //look for the ENTER key and perform specific processing
  int keyCode = e.getKeyCode();
  switch(keyCode) { 
    case KeyEvent.VK_ENTER:
      //do stuff
    break;
  }
}
person user1367351    schedule 26.06.2012