Хорошо, я поместил здесь фрагмент кода, который показывает каретку, но не позволяет редактировать JTextArea.Я надеюсь, что это поможет вам.Это маленькая хитрость, которая играет с фокусом текстовой области, когда фокус получен, издание отключено;но когда оно потеряно, издание возможно.Таким образом, пользователь не может редактировать его, но видит курсор.
public void run() {
JFrame frame = new JFrame();
final JTextArea text = new JTextArea();
text.addFocusListener(new FocusListener() {
public void focusLost(FocusEvent fe) {
text.setEditable(true);
}
public void focusGained(FocusEvent fe) {
text.setEditable(false);
}
});
text.setEditable(true);
String line = "added line";
text.append(line);
text.setCaretPosition(text.getCaretPosition() + line.length());
frame.getContentPane().add(text);
frame.setSize(300,300);
frame.setVisible(true);
}
Обратите внимание, что пользователь может перемещать курсор, но он не может редактировать текст