2017-06-29 19 views
0

私はビューでEclipse用のプラグインを開発していますが、このビューをスクロール可能にする必要があります。私はそれをスクロール可能にする方法を見つけましたが、コンポジットはビューの右側に表示されます。すべてのビューを埋めるには?SWTコンポジットが右側に表示されます

マイコード:

public class Comp2 extends Composite { 

    public Comp2(Composite parent, int style) { 
     super(parent, SWT.NONE); 

     final ScrolledComposite sc = new ScrolledComposite(parent, SWT.H_SCROLL | SWT.V_SCROLL); 
     sc.setLayout(new FillLayout()); 
     sc.setExpandHorizontal(true); 
     sc.setExpandVertical(true); 

     final Composite subContainer = new Composite(sc, SWT.NONE); 

     Button btnNewButton = new Button(subContainer, SWT.NONE); 
     btnNewButton.setBounds(75, 99, 90, 30); 
     btnNewButton.setText("New Button"); 

     Button btnNewButton_1 = new Button(subContainer, SWT.NONE); 
     btnNewButton_1.setBounds(357, 398, 90, 30); 
     btnNewButton_1.setText("New Button"); 

     sc.setContent(subContainer); 

     sc.addControlListener(new ControlAdapter() { 

      @Override 
      public void controlResized(ControlEvent e) { 
       Rectangle r = sc.getClientArea(); 
       sc.setMinSize(subContainer 
         .computeSize(r.width, SWT.DEFAULT)); 
      } 
     }); 
    } 

    @Override 
    protected void checkSubclass() { 
     // Disable the check that prevents subclassing of SWT components 
    } 
} 

my view

答えて

1

あなたは複合体は親にその正常な体を追加してCompositeを拡張しているので。 ScrolledCompositeを追加しているので、最初の複合体のそばに座っています。

あなたは、その親を変更することにより、Composite内部ScrollCompositeを置くことができます。

super(parent, SWT.NONE); 

// This composite needs a layout 
setLayout(new FillLayout()); 

// Parent of the ScrolledComposite is this Composite 
ScrolledComposite sc = new ScrolledComposite(this, SWT.H_SCROLL | SWT.V_SCROLL); 
+0

感謝です!今は大丈夫です! –

関連する問題