gpt4 book ai didi

java - 单击打开自动完成字段

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

我正在使用 Eclipse AWT 框架,并且我有一个组合框。

我已将组合框中的可见项目数量设置为 0,这样单击下拉列表就不会显示任何内容(即使该框已填充)。

我在框中有一个 AutoCompleteField,以便任何在组合框中键入内容的人都可以看到 Eclipse 样式的 AutoCompleteField。这非常有效。

但是,我希望能够在某些情况下触发 AutoCompleteField 出现,而​​不仅仅是在用户开始键入时出现。例如,我希望它在用户单击下拉三角形时出现,因此就像 Eclipse 样式的 AutoCompleteField 出现而不是正常的下拉列表一样。

不幸的是,AutoCompleteField 没有公开任何有用的方法,我几乎不明白它是如何工作的。

如何让它随心所欲地出现?

最佳答案

我假设您指的是 SWT/JFace AutoCompleteField(AWT 是旧的 Java GUI)。

AutoCompleteField 仅适用于自动完成的最简单使用,对于任何更复杂的情况,您需要使用较低级别的类。

这就是AutoCompleteField 设置的内容:

Control control = your control
IControlContentAdapter controlContentAdapter = your control context adapter
String[] proposals = your proposals

SimpleContentProposalProvider proposalProvider = new SimpleContentProposalProvider(proposals);

proposalProvider.setFiltering(true);

ContentProposalAdapter adapter = new ContentProposalAdapter(control, controlContentAdapter, proposalProvider, null, null);

adapter.setPropagateKeys(true);
adapter.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE);

ContentProposalAdapter 可以根据需要使用 openProposalPopup() 方法打开辅助 - 这是一个 protected 方法,因此需要使用从 ContentProposalAdapter 派生的类来使用它。

ContentProposalAdapter 还具有用于激活辅助的 KeyStroke 参数和一组自动激活字符。

关于java - 单击打开自动完成字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30675688/

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