Java SWT ComboBoxCellEditor可编辑

Java SWT ComboBoxCellEditor可编辑,java,swt,jface,Java,Swt,Jface,我有一个示例,其中一列中的值通常来自动态列表。 我目前使用的是,它实际上是一个选择列表:它存储所选值的索引。如果我更改基础列表(调用setItems(String[]),保留以前选择的值是很笨拙的…(特别是如果它不再包含在列表中!)我希望的是一个单元格编辑器,它存储的不是列表中的索引,而是字符串(可能允许用户自由编辑,可能不是),其中列表只是在输入时用作建议-就像在过去的好日子里应该使用“”一样…这可能吗?我建议您让您的CellEditor模拟您正在寻找的行为。扩展ComboBoxViewerC

我有一个示例,其中一列中的值通常来自动态列表。
我目前使用的是,它实际上是一个选择列表:它存储所选值的索引。如果我更改基础列表(调用
setItems(String[])
,保留以前选择的值是很笨拙的…(特别是如果它不再包含在列表中!)我希望的是一个单元格编辑器,它存储的不是列表中的索引,而是字符串(可能允许用户自由编辑,可能不是),其中列表只是在输入时用作建议-就像在过去的好日子里应该使用“”一样…这可能吗?

我建议您让您的CellEditor模拟您正在寻找的行为。扩展
ComboBoxViewerCellEditor
并覆盖
doGetValue()
方法。在Combo控件上添加modify listener,并将filter(根据输入文本筛选列表项)添加到comboviewer。

您应该查看:

  • 这个类来自WTP项目;它是一个选择和返回字符串的扩展ComboBoxCellEditor
  • 它是WTP StringComboBoxCellEditor的复制/粘贴;它添加了在组合中找不到项时添加该项的功能