ComboBoxViewerCellEditor 和 AutoCompleteField 不起作用
ComboBoxViewerCellEditor and AutoCompleteField doesn't work
我有一个带有 AutoCompleteField 的 ComboBoxViewerCellEditor。
我定义为:
new AutoCompleteField(cellEditor.getControl(),new CComboContentAdapter(),values);
显示自动完成值,如果我通过键盘 select 我的组合 select 正在输入一个值。问题是当我用鼠标双击预填充列表时。这对组合没有任何影响,它没有 select 价值。
有什么我想念的吗?我应该添加一些监听器吗?
谢谢,
路易莎
实际上,当您通过鼠标选择它时,您的焦点会从单元格编辑器中消失,这就是它不受影响的原因。
单元格编辑器有一个类似于 dependsOnexternalFocus() 的方法。默认情况下 return 为真。覆盖它并从中 return false。
单元格编辑器的内部构造函数class创建您自己的内容适配器并在下面放置代码:
contentProposalAdapter.addContentProposalListener(new IContentProposalListener2()
{
public void proposalPopupClosed(ContentProposalAdapter adapter)
{
popupOpen = false;
}
public void proposalPopupOpened(ContentProposalAdapter adapter)
{
popupOpen = true;
}
});
并覆盖
@Override
protected void focusLost()
{
if (!popupOpen)
{
super.focusLost();
}
}
popupOpen 是私有布尔类型变量。
我有一个带有 AutoCompleteField 的 ComboBoxViewerCellEditor。
我定义为:
new AutoCompleteField(cellEditor.getControl(),new CComboContentAdapter(),values);
显示自动完成值,如果我通过键盘 select 我的组合 select 正在输入一个值。问题是当我用鼠标双击预填充列表时。这对组合没有任何影响,它没有 select 价值。
有什么我想念的吗?我应该添加一些监听器吗?
谢谢,
路易莎
实际上,当您通过鼠标选择它时,您的焦点会从单元格编辑器中消失,这就是它不受影响的原因。
单元格编辑器有一个类似于 dependsOnexternalFocus() 的方法。默认情况下 return 为真。覆盖它并从中 return false。
单元格编辑器的内部构造函数class创建您自己的内容适配器并在下面放置代码:
contentProposalAdapter.addContentProposalListener(new IContentProposalListener2()
{
public void proposalPopupClosed(ContentProposalAdapter adapter)
{
popupOpen = false;
}
public void proposalPopupOpened(ContentProposalAdapter adapter)
{
popupOpen = true;
}
});
并覆盖
@Override
protected void focusLost()
{
if (!popupOpen)
{
super.focusLost();
}
}
popupOpen 是私有布尔类型变量。