[java] Java Swing-JScrollPane 사용 및 맨 위로 스크롤

JScrollPane을 사용하여 텍스트 편집기 역할을하는 텍스트 구성 요소가있는 JFrame에서 스크롤을 허용하고 있습니다. 이 편집기에서 텍스트를 설정 한 후 맨 위로 스크롤하여 파일 시작 부분에 무엇이 있는지 확인할 수 있습니다.

누구든지 이것을하는 방법을 알고 있습니까?



답변

텍스트 컴포넌트에서 setCaretPosition (0) 을 호출 하면 맨 위로 스크롤됩니다.


답변

텍스트 구성 요소를 사용하지 않는 경우 여기에 게시 된 스레드를 살펴보십시오 …. JScrollPane에 스크롤 막대 설정

그들의 해결책은 invokeLater를 통해 스레드를 스핀 오프하는 것입니다.

final JScrollPane scroll = new JScrollPane(text);
javax.swing.SwingUtilities.invokeLater(new Runnable() {
   public void run() {
       scroll.getVerticalScrollBar().setValue(0);
   }
});


답변

이것은 작동합니다.

DefaultCaret caret = (DefaultCaret) textArea.getCaret();
caret.setUpdatePolicy(DefaultCaret.NEVER_UPDATE);


답변

텍스트 구성 요소 setCaretPosition(0)바로 뒤에 메서드를 사용할 수 있습니다 setText(String t).


답변

사용 JComponent.scrollRectToVisible ()

더 많은 정보가 필요하면 여기에 기사가 있습니다.


답변

이것을 시도 할 수 있습니다.

 scrollPane.getViewport().setViewPosition(new Point(0,0));

JavaDocs에 따르면 setViewPosition ()은 다음과 같이 작동합니다.

뷰포트의 왼쪽 상단 모서리에 나타나는 뷰 좌표를 설정합니다. 뷰가 없으면 아무 작업도 수행하지 않습니다.


답변

방법은 다음과 같습니다.

textArea.setSelectionStart(0);
textArea.setSelectionEnd(0);