TableWrapData:小部件不会正确左对齐

TableWrapData: widgets won't left align properly

我的程序使用 TableWrapLayout 并将 numColumns 设置为 2。然后我有以下代码:(背景颜色设置为向您显示小部件未使用空白 space)。

    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));

但是,正如您在图片中看到的那样,组合框无法正确左对齐。但我的意思是我希望它在标签之后立即开始,而不是一堆空白 space。

一种解决方法是将行放在它自己的组合中,就像我做资源图标和地理定位一样。但我觉得我不需要这样做,因为这一行的小部件等于布局设置的列数。我现在已经创建了这个解决方法,但我想在未来了解这个 TableWrapData 行为。

任何见解都会有所帮助,谢谢。

我在问题中差不多回答了我的问题。包含图片中所有内容的组合具有列设置为 2 的 TableWrapData。TableWrapData 实质上在每列之间绘制一条垂直直线,然后确保来自一列的小部件不会穿过它。

因此,要解决此问题(就像我在问题中提到的那样),您只需制作另一个带有嵌套小部件的组合(在本例中为资源类型标签和 resourceComboMenu)。我只是没有意识到这是你应该做的。