2016-07-19 4 views
0

SWT 및 JFace에 대한 새로운 기능입니다. 나는 스크롤바를 복합체에 추가해야하는 버그를 수정해야한다. 나는 그것을 Scrolled Composite로 바꾸고 애트리뷰트 비트를 설정 한 다음 수직 및 수평 확장을 활성화했지만 아무런 효과가 없다. 여기합성 스크롤 기능 만들기

FormToolkit tk = this.toolkit; 
Composite    consistencyCheckComposite; 
this.consistencyCheckComposite = tk.createComposite(this.consistencyCheckSection); 
//this.consistencyCheckComposite = new ScrolledComposite(this.parentComposite, SWT.V_SCROLL | SWT.H_SCROLL); 
gd = new GridData(SWT.FILL, SWT.BEGINNING, true, true); 
this.consistencyCheckComposite.setLayoutData(gd); 
this.consistencyCheckComposite.setBackground(this.parentComposite.getBackground()); 
GridLayout consistencyCheckGridLayout = new GridLayout(); 
consistencyCheckGridLayout.numColumns = 4; 
consistencyCheckGridLayout.horizontalSpacing = DEFAULT_SPACING * 3; // 15 
this.consistencyCheckComposite.setLayout(consistencyCheckGridLayout); 
this.consistencyCheckComposite = tk.createComposite(this.consistencyCheckSection); 
//this.consistencyCheckComposite = new ScrolledComposite(this.parentComposite, SWT.V_SCROLL | SWT.H_SCROLL); 
gd = new GridData(SWT.FILL, SWT.BEGINNING, true, true); 
this.consistencyCheckComposite.setLayoutData(gd); 
this.consistencyCheckComposite.setBackground(this.parentComposite.getBackground()); 
GridLayout consistencyCheckGridLayout = new GridLayout(); 
consistencyCheckGridLayout.numColumns = 4; 
consistencyCheckGridLayout.horizontalSpacing = DEFAULT_SPACING * 3; // 15 
this.consistencyCheckComposite.setLayout(consistencyCheckGridLayout); 
+2

우선, ScrolledComposite에게 'sc.setContent()'로 스크롤해야 할 내용을 알려 주어야합니다. –

+0

@ RüdigerHerrmann : 콘텐츠가 어딘가에 설정되어 있습니다. 위에서 언급 한 접근 방식으로 데이터를 제대로 볼 수 있지만 데이터가 복합체의 길이를 초과하면 초과 데이터가 보이지 않게되고 스크롤 된 복합체가 필요합니다. 이상하게도 복합 유형을 Scrolled Composite로 변경하면 ** LayoutComposite ** (** tk.createComposite() **에서 반환)를 ** scrolledComposite **로 형변환 할 수 없다는 예외가 발생했습니다. –

+1

게시 한 코드가 실제 문제에 대해 많이 알리지 않습니다. 독립형 독립 식 스 니펫은 문제를 재현하는 것이 좋습니다. –

답변

0

문제 grabExcessHorizontalSpace 및 grabExcessVerticalSpace을 의미 두 개의 매개 변수를 마지막으로 gridData있을 수 있습니다. 컴포지트의 내용에 따라 컴포지트 크기가 변경 될 수 있습니다. 수정 크기 합성을 작성해야합니다.

코드가 문제를 알리기에 충분하지 않습니다. 더 자세한 코드를 제공하십시오.