gpt4 book ai didi

java - SWT Combo 的自动完成建议

转载 作者:行者123 更新时间:2023-11-30 01:56:48 30 4
gpt4 key购买 nike

鉴于下面的代码可以正常工作,如何实现包含书面文字的提案,而不仅仅是以给定序列开头的提案?

我正在 SQL 中寻找类似“% LIKE%”的内容。例如,在写“car”时,我希望有人建议使用“verdure carciofi”之类的词。

SimpleContentProposalProvider proposalProviderNegozio = new SimpleContentProposalProvider(combonegozio.getItems());
ContentProposalAdapter proposalAdapterNegozio = new ContentProposalAdapter(combonegozio, new ComboContentAdapter(),
proposalProviderNegozio, getActivationKeystroke(), getAutoactivationChars());

proposalProviderNegozio.setFiltering(true);
proposalAdapterNegozio.setPropagateKeys(true);
proposalAdapterNegozio.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE);

最佳答案

编写您自己的实现 IContentProposalProvider 的类,而不是 SimpleContentProposalProvider

该接口(interface)只有一个方法:

public IContentProposal[] getProposals(String contents, int position)

您将获得当前控件内容和插入位置,由您返回适当的建议。

您可以使用实现 IContentProposalContentProposal 类来获取结果。

因此,如果文本是“car”,则返回提案的简单提供程序可能是:

class MyProposalProvider implements IContentProposalProvider
{
@Override
public IContentProposal [] getProposals(final String contents, final int position)
{
if (contents.equals("car")) {
return new IContentProposal [] {
new ContentProposal("proposal 1", "description 1", null),
new ContentProposal("proposal 2", "description 2", null),
};
}

return new IContentProposal [0];
}
}

你的代码变成:

IContentProposalProvider myProvider = new MyProposalProvider();
ContentProposalAdapter proposalAdapterNegozio = new ContentProposalAdapter(combonegozio, new ComboContentAdapter(),
myProvider, getActivationKeystroke(), getAutoactivationChars());

关于java - SWT Combo 的自动完成建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54167733/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com