获取JTextarea的行数及其文本内容
以下即为实现获取Jtextarea指定行文本的代码(我的这个方法是写在鼠标监听中的):
JTextArea jta=new JTextArea();
MouseAdapter adapter=new MouseAdapter()
{
public void mouseClicked(MouseEvent e) {
try {
Rectangle rec = jta.modelToView(jta.getCaretPosition());
height=rec.y / rec.height + 1;
//height为当前鼠标所点击的行数(第几行)
int start=jta.getLineStartOffset(height-1);
//确定给定行起始处的偏移量。
int end = jta.getLineEndOffset(height-1);
//确定给定行结尾处的偏移量。
System.out.println(rec.y / rec.height + 1);
//打印当前点击的行
System.out.println(start+"======="+end);
//打印偏移量
str=jta.getText(start, end-start);
//获取偏移量之间的文本,即为JTextarea上该行的文本
System.out.println(str);
//打印所点击的JTxtarea行的文本信息
{
public void mouseClicked(MouseEvent e) {
try {
Rectangle rec = jta.modelToView(jta.getCaretPosition());
height=rec.y / rec.height + 1;
//height为当前鼠标所点击的行数(第几行)
int start=jta.getLineStartOffset(height-1);
//确定给定行起始处的偏移量。
int end = jta.getLineEndOffset(height-1);
//确定给定行结尾处的偏移量。
System.out.println(rec.y / rec.height + 1);
//打印当前点击的行
System.out.println(start+"======="+end);
//打印偏移量
str=jta.getText(start, end-start);
//获取偏移量之间的文本,即为JTextarea上该行的文本
System.out.println(str);
//打印所点击的JTxtarea行的文本信息
} catch (BadLocationException e1) {
e1.printStackTrace();
}
};
};
e1.printStackTrace();
}
};
};
jta.addMouseListener(adapter);