Here you can find the source of setCaretPosition(int i, int j, JTextArea jtextarea)
public static void setCaretPosition(int i, int j, JTextArea jtextarea)
//package com.java2s; /*/* www . ja v a2 s.c o m*/ * Copyright (C) 2012 Marco Ratto * * This file is part of the project MQJExplorer. * * MQJExplorer is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * any later version. * * MQJExplorer is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with MQJExplorer; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ import javax.swing.JTextArea; public class Main { public static void setCaretPosition(int i, int j, JTextArea jtextarea) { if (i < 0 || j < 0) return; StringBuffer stringbuffer = new StringBuffer(jtextarea.getText()); int k = 0; int l; for (l = stringbuffer.length(); i > 0 && k < l; k++) if (stringbuffer.charAt(k) == '\n') i--; if (i > 0) return; k += j; if (k > l) k = l; jtextarea.setCaretPosition(k); } }