JTextArea получает всю строку - PullRequest
       0

JTextArea получает всю строку

1 голос
/ 08 сентября 2010

Как я могу получить выбранную линию от JTA?

Ответы [ 2 ]

2 голосов
/ 08 сентября 2010

Полагаю, вы можете использовать getLineStartOffset (int line) и getLineEndOffset (int line) для вычленения определенной строки из строки, возвращаемой из getText ()

Если вы имеете в виду, что хотите знать, чтопользователь выбрал (используя мышь / клавиатуру): getSelectedText () должен дать вам это.

1 голос
/ 08 сентября 2010

Почему бы не разбить строки на токены.тогда, если вы знаете номер строки, которую вы хотите, вы можете просто получить к нему доступ через массив строк

public class JTALineNum extends JFrame{
 JTextArea jta = null;
 JButton button = null;

 public JTALineNum(){
  jta = new JTextArea();
  button = new JButton("Hit Me");

  button.addActionListener(new ButtonListener());

  add(jta, BorderLayout.CENTER);
  add(button, BorderLayout.SOUTH);
  setSize(200,200);
  setVisible(true);
 }

 private class ButtonListener implements ActionListener{

  public void actionPerformed(ActionEvent e) {
   String text = jta.getText();
   String[] tokens = text.split("\n");
   for(String i : tokens){
    System.out.println("Token:: " + i);
   }
  }
 }

 public static void main(String args[]){
  JTALineNum app = new JTALineNum();
  app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 }
}
...