2010-08-06 3 views
0

아래쪽에서 생명을 시작하기 위해 JScrollPane을 초기화하려고합니다. 처음에 표시된 후에 자동으로 스크롤하는 것을 원하지 않습니다. 스크롤 창에 이없고에는 JTextComponent의 서브 클래스가 포함되지만 JPanel(GridLayout(0, 1))에는 많은 JPanel이 포함됩니다. 자바 스윙 JScrollPane을 아래쪽으로 초기화

나는 부모 Window ( addComponentListener : componentShown)에 이벤트 핸들러 내부 JViewport.scrollRectToVisible()를 사용했지만, 작동하지 않았다.

아이디어가 있으십니까?

답변

1

스크롤 창 JPanel의 대부분을 함유하는 JPanel의 (1)을 GridLayout (0)의 JTextComponent의 서브 클래스를 포함하는 것이 아니라 않는다.

는 그런 다음 패널을 스크롤해야합니다

panel.scrollRectToVisible(...); 

을 아니면 사용할 수 있어야합니다 :

또한
JScrollBar sb = scrollPane.getVerticalScrollBar(); 
sb.setValue(sb.getMaximu()); 

,이 코드는 "후"실행해야하는 GUI입니다 명백한.

+0

+1 나는'pack()'이후와'setVisible()'이전 일 수 있다고 생각한다. – trashgod

+0

예, pack() 후에 수행 할 수 있습니다. – camickr