我一直致力于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);
答案 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
,可以将 GridData
和 widthHint
设置为 Combo 控件的布局数据。但是,下拉/提示仍然会溢出设置的宽度