2014-10-13 1 views
0

일식 RCP 응용 프로그램에서 tablecolumnlayout (부모 합성의 경우)과 함께 jface tableviewer를 사용하고 있습니다.Jface tableviewer - 테이블 열 레이아웃으로도 열의 간격이 없습니다

필자의 견해로 볼 때, 기둥은 테이블의 전체 너비를 덮기 위해 똑같이 간격을두고 있습니다. 지금까지 그렇게 좋았습니다.

우리는 & 테이블 레이아웃을 저장해야하는 기능이 있습니다. 기본적으로 사용자는 열 개수를 숨기거나 재정렬 할 수 있으며 특정 레이아웃을 저장하고자합니다.

테이블 레이아웃을 저장/검색하기 위해 Eclipse 환경 설정 API를 사용하고 있습니다.

보기가 처음 열릴 때 기본 레이아웃 (모든 열이 &이고 기본 순서가있는보기)이 열립니다. 따라서 사용자가 언제든지 원래 레이아웃으로 되돌아 갈 수 있도록보기가로드 될 때마다 DEFAULT 레이아웃 (기본 순서는 & 열 너비 임)을 저장합니다.

하지만 여기서 문제는 기본 레이아웃을로드하려고 할 때 열이 똑같이 간격을두고 있지 않으며 끝에 빈 열이있는 것을 확인하는 것입니다.

테이블의 너비를 커버하기 위해 기둥이 똑같이 간격을 두어 기본 동작을 수행하려면 어떻게해야합니까?

참고 : 표의 상위 컴포지트의 layout()을 호출하거나 합성뿐만 아니라 두 테이블의 다시 그리기를 호출했지만 작동하지 않았습니다.

답변

0

나는 위에서 언급 한 문제를 해결했다.

SWT는 전체 테이블 너비가 사용되도록보기 렌더링 중에 주어진 열 너비를 늘립니다.

뷰를 렌더링하려고 할 때만 (부품 활성화 중에) 각 열의 너비를 늘릴 수있었습니다.

tablecolumnlayout을 사용한 직후에 열 너비를 묻는 경우 미리 정의 된 너비를 얻고있었습니다.

이 문제를 해결하기 위해 부품 활성화 중에 기본 레이아웃을 저장하도록 코드를 옮겨 실제 폭이 증가되도록했습니다.