setCaretPosition(-1)?

Ola pessoal , estou montando meu chat, e me deparei com algo estranhu.

Logo quando o usuario da ENTER e mandar a msg, a JTextArea é limpar mas o cursor vai pra linha de baixo. pois entao pesquisei e achei o comando .setCaretPosition(int);

Pela logica para usar seria JTextArea.setCaretPosition(0); Porem nao funciona…

usando JTextArea.setCaretPosition(-1); funciona perfeitamente, mas quando vejo no netbeans uma Exception aparece falando sobre a posicao -1 do caret que esta errada.

Pergunto a voces. Deixo assim mesmo -1? mesmo dando exception … ou o que poderia estar dando errado quando coloco JTextArea.setCaretPosition(0);

Estou limpando a JTextArea com o comando

JTextArea.setText("");

tentei colocar caretposition com valor 0 , mas ele nao volta pra linha inicial, ele so volta quando coloco -1 , mas ai aparece no netbeans a exception

Como você está configurando e como está limpando a JTextArea?

O correto seria setCaretPosition(0) se você deseja que o cursor vá para o início da linha.

setCaretPosition(int)

Fiz esse código como teste e estou limpando da mesma forma que você.
Não precisei utilizar o caretPosition.

Se possível, reveja a criação do JTextArea e se você está atribuindo algum comportamento diferente a ele…

[code]package testes.swing.textarea;

import java.awt.Component;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextArea;
import javax.swing.SwingUtilities;

public class Main {

public static void main(String[] args) {
    SwingUtilities.invokeLater(new Runnable(){
    	@Override
    	public void run() {
    		MyFrame frame = new MyFrame();
    		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		frame.pack();
    		frame.setVisible(true);
    	}
    });
}

}

class MyFrame extends JFrame {
private static final long serialVersionUID = 1L;
private JTextArea textArea;
private JButton button;
public MyFrame() {
initialize();
}
private void initialize() {
setLayout(new GridLayout(0,1));
setPreferredSize(new Dimension(200,200));
add(getTextArea());
add(getButton());
}
private Component getButton() {
if(button == null) {
button = new JButton(“Clique aqui”);
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
textArea.setText("");
textArea.requestFocusInWindow();
}
});
}
return button;
}
private Component getTextArea() {
if(textArea == null) {
textArea = new JTextArea(5, 20);
textArea.setWrapStyleWord(false);
}
return textArea;
}
}[/code]