1

JTAから選択した回線を取得するにはどうすればよいですか?

4

2 に答える 2

2

getLineStartOffset(int line)とgetLineEndOffset(int line)を使用して、getText()から返された文字列から特定の行をサブストリング化できると思います。

ユーザーが(マウス/キーボードを使用して)何を選択したかを知りたい場合は、getSelectedText()でそれを確認できます。

于 2010-09-08T15:34:54.260 に答える
1

行をトークンに分割してみませんか。次に、必要な行番号がわかっている場合は、文字列の配列を介してそれにアクセスできます。

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);
 }
}
于 2010-09-08T15:41:32.753 に答える