2016-04-19 10 views
0

私のプログラムでは、numColumnsを2に設定してTableWrapLayoutを使用しています。次のコードがあります。(背景色はウィジェットが空白を使用していないことを示します。あなたが写真で見ることができるようTableWrapData:ウィジェットは正しく配置されません

enter image description here

Label label = toolkit.createLabel(container, "Resource Type":); 
    label.setLayoutData(new TableWrapData(TableWrapData.LEFT,TableWrapData.MIDDLE)); 
label.setBackground(DiagramSettings.NODE_BACKGROUND_COLOR); 
    resourceComboMenu = new Combo(container, SWT.READ_ONLY); 
resourceComboMenu.setBackground(DiagramSettings.NODE_BACKGROUND_COLOR); 
    resourceComboMenu.setLayoutData(new TableWrapData(TableWrapData.LEFT,TableWrapData.MIDDLE)); 

は、しかし、コンボボックスが正しく揃える左を拒否しました。しかし、私はそれがラベルの直後に始まり、空白スペースの束を持っていないことを意味します。

1つの回避策は、リソースアイコンとジオロケーションを行うのと同じように、自身のコンポジット内に行を配置することです。しかし、私はこの行のウィジェットがレイアウトによって設定された列の数に等しいので、私がする必要がないように感じる。私は今この回避策を作成しましたが、今後このTableWrapDataの動作を理解したいと思います。

洞察力は役に立ちます。ありがとうございます。

答えて

0

質問で私の質問にかなり答えました。ピクチャに含まれるすべてのコンポジットには、Columnsが2に設定されたTableWrapDataが含まれていました。TableWrapDataは基本的に各列の間に直線の垂直線を描き、1つの列のウィジェットが交差しないようにします。

これを修正するには(私の質問で言及したように)ネストされたウィジェット(この場合、リソースタイプラベルとresourceComboMenu)を別のコンポジットにするだけです。私はちょうどそれがあなたがしなければならないことを認識していませんでした。

関連する問題