JScrollPane을 사용하여 텍스트 편집기 역할을하는 텍스트 구성 요소가있는 JFrame에서 스크롤을 허용하고 있습니다. 이 편집기에서 텍스트를 설정 한 후 맨 위로 스크롤하여 파일 시작 부분에 무엇이 있는지 확인할 수 있습니다.
누구든지 이것을하는 방법을 알고 있습니까?
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);
}
});
invokeLater
스레드를 스핀 오프하지 않고 현재 이벤트 (예 : 버튼 클릭 invokeLater
또는를 호출하는 코드의 컨텍스트 ) 및 이미 대기열에 추가 된 다른 이벤트가 완료된 후 실행될 이벤트를 대기열에 추가합니다.
텍스트 구성 요소 setCaretPosition(0)
바로 뒤에 메서드를 사용할 수 있습니다 setText(String t)
.
사용 JComponent.scrollRectToVisible ()
더 많은 정보가 필요하면 여기에 기사가 있습니다.
이것을 시도 할 수 있습니다.
scrollPane.getViewport().setViewPosition(new Point(0,0));
JavaDocs에 따르면 setViewPosition ()은 다음과 같이 작동합니다.
뷰포트의 왼쪽 상단 모서리에 나타나는 뷰 좌표를 설정합니다. 뷰가 없으면 아무 작업도 수행하지 않습니다.