2016-08-28 3 views
0

나는 GURPS에서 문자 시트를 만들려고 해요 그리고는 다음과 같이 기본적으로이다 :자바 - 만 세로 스크롤

/-Main Panel--------\ 
|/-Panel-----------\| 
|\-----------------/| 
|/-Another Panel---\| 
|| Contents  || 
|\-----------------/| 
\-------------------/ 

그리고 나는 그것을 세로로 스크롤하는 것이 아니라 수평 크기를 조정해야합니다. 나는 수직으로 그의 용기에 완전히 내용에 맞게 개인 레이아웃 패널을 배치하는 BoxLayout에서는 사용, 사용하려고 해요 :

JScrollPane scrollPane = new JScrollPane(mainPanel); 
scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); 

을하지만 내가 원하는대로 작동하지 않았다, 그것은 변화하지 않습니다 내용의 가로 크기. 누구든지 아이디어가 있습니까?

답변

2

기본적으로 JScrollPane에 추가 된 구성 요소는 preferredSize()에 표시되며 기본 크기가 스크롤 창 크기보다 클 경우 스크롤바가 나타납니다.

스크롤 창 너비를 채우기 위해 패널을 수평으로 확장/축소하려면 패널에 Scrollable 인터페이스를 구현해야합니다.

기본적으로 getScrollableTracksViewportWidth() 메서드를 구현하여 “true”을 반환해야합니다. 이제 메인 패널의 크기가 스크롤 패널의 폭을 채우도록 조정됩니다.

또는 직접 Scrollable 인터페이스의 모든 방법을 구현하는 대신 Scrollable Panel에서이 지원을 확인할 수 있습니다.