2010-03-29 3 views

답변

2

간단히 생성자의 두 번째 인수로 SWT.H_SCROLL | SWT.V_SCROLL를 추가, 즉

ListViewer v = new ListViewer(shell, SWT.H_SCROLL | SWT.V_SCROLL); 

Here은 발췌문이다 - 충분히 작게 쉘의 크기를 조정, 당신은 스크롤 막대를 얻을.

+0

the.duckman에게 감사드립니다. ListViewer JavaDoc은 또한 이것을 ListViewer의 기본 스타일 (H_SCROLL, V_SCROLL, BORDER 및 MULTI)이라고 말합니다. 하지만 FillLayout에서만 작동하며 RowLayout 또는 GridLayout에서는 작동하지 않습니다! 이것에 대한 이유와 그것을 작동시키는 방법을 아십니까? –

+0

코드없이 알기가 어렵습니다. 그것은 모든 레이아웃과 함께 작동해야합니다, 당신은 제대로 레이아웃을 사용합니다. –

+2

@Gabriel Parenza - RowLayout 또는 GridLayout의 아이가 LayoutData를 올바르게 정의하지 않은 경우, 부모 컴퍼넌트는 ListViewer의 사이즈를 올바르게 설정할 수 없기 때문에, 스크롤 바가 표시되는지는 모릅니다. 레이아웃 후 ListViewer의 범위를 인쇄하여이를 볼 수 있습니다. 가시 영역보다 더 큰 경계를가집니다. SWT.FILL을 사용하여 GridData를 설정하고 GridLayout을 사용하는 경우 확장하십시오. 또한 .duckman의 대답이 맞으면 받아 들여야합니다! – wsorenson