在可用空间中包含超出组合框的内容?

时间:2012-11-30 07:21:26

标签: java swt

我一直致力于SWT项目。我有一个组合框,其值通过数据库设置。我为组合框设置了固定大小,但是当长字符串设置为它的项目时,组合框的宽度超出了设置大小。我希望组合框通过将超出的字符串移动到下一行来包装内容。

这是我的代码:

String items[] = {"A","B","WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW","C"};
Combo combo =new Combo(comp, SWT.WRAP);
combo.setItems(items);
combo.select(0);
GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
combo.setLayoutData(gridData);

3 个答案:

答案 0 :(得分:1)

您将无法在SWT Combo中获得 WRAP

您可能需要查看

http://www.eclipse.org/nebula/widgets/tablecombo/tablecombo.php

我不确定TableCombo是否支持多行项目。但您可以在OwnerDrawLabelProvider上使用TableViewer来实现这一目标。

答案 1 :(得分:0)

Combo不支持SWT.WRAP。您所描述的内容无法通过任何标准小部件进行描述。这必须是一个完全自定义的控件。

答案 2 :(得分:0)

如果您在父组合上使用 GridLayout,可以将 GridDatawidthHint 设置为 Combo 控件的布局数据。但是,下拉/提示仍然会溢出设置的宽度