2016-05-27 13 views
0

のサイズを変更することなく、トリム3パートウィンドウを作成し、私はウィンドウトリムを作成 - トップのEclipse E4:ツールコントロール内のテキスト

は、今私は3ツール制御を追加するだけSWT-テキストが含まれてはならない

最初サイズを変更してください...

ただし、テキストを入力してウィンドウのサイズを変更すると、テキストに合わせて自動的にSWT-Textのサイズが変更されます。

どうすれば、そのツールコントロール、コンポジット、またはテキストに正しいサイズを与え、サイズを変更しないように伝えることができますか?

public class TrimBarSearch { 

@Inject 
ISearchService searchService; 

private Text txtSearch; 
private Composite composite; 

@Inject 
public TrimBarSearch() { 

} 

@PostConstruct 
public void createGui(final Composite parent) { 

    parent.setLayoutData(new GridLayout(3, false)); 
    composite = new Composite(parent, SWT.NONE); 

    Point xy = new Point(300, 15); 
    Point sizeComposite = new Point(310, 25); 

    composite.setLayout(new GridLayout(1, false)); 
    composite.setSize(sizeComposite); 
    txtSearch = new Text(composite, SWT.FILL); 
    txtSearch.setSize(xy); 
    txtSearch.setText(""); 

    // TODO fix resizing-problem 
    parent.getShell().addListener(SWT.Resize, e -> { 
     //maybe here?! 
    });} 

答えて

0

setSizeでレイアウトを試してみないと混ぜない - それは動作しません、レイアウトはあなたのサイズを上書きします。

代わりに、GridDataのテキストの幅ヒントをテキストとして指定できます。代わりに:

txtSearch.setSize(xy); 

使用:

GridData data = new GridData(SWT.BEGINNING, SWT.CENTER, false, false); 
data.widthHint = 300; 
txtSize.setLayoutData(data); 
関連する問題