JFace ContentProposalAdapter在无效位置显示弹出窗口

时间:2011-11-01 14:33:06

标签: java user-interface swt jface

我在表格中的编辑器上使用ContentProposalAdapter:

String[] newProposals = getAllProposals();
SimpleContentProposalProvider scp = new SimpleContentProposalProvider( newProposals );
adapter = new ContentProposalAdapter(editor, new TextContentAdapter(), scp,null,null);
adapter.setPopupSize(new Point(100, 200));

编辑器是这样创建的文本:

final Text editor = new Text(cursor, SWT.NONE)

cursor是一个表游标;

UI具有以下结构:

shell
 main-view
   table
     editor

现在,当内容辅助显示弹出窗口时,它位于shell窗口的左侧,而不是表格中的编辑器。

如何修复它的位置?

1 个答案:

答案 0 :(得分:0)

问题是每次输入时创建的内容提议适配器都会更改,这会导致意外行为。

正确的方法是仅创建一次内容提案适配器实例并附加到文本字段。