Combobox 如何在SWT中向组合框添加不可选择的分隔符

Combobox 如何在SWT中向组合框添加不可选择的分隔符,combobox,swt,Combobox,Swt,应用程序中的组合框应该显示固定宽度和非固定宽度的字体名称。我想在它们之间添加一个不可选择的分隔符: -- Fixed-width fonts -- Courier New Lucida Console ... -- Non-fixed-width fonts -- Arial ... SWT是否可能?简而言之,答案是否定的。Combo和CCombo都不允许将项目标记为不可选择 但是应该可以实现一个定制的组合小部件,它可以通过合理的努力显示不可选择的项目 如果查看,您将看到它不是一个本机小部件,

应用程序中的组合框应该显示固定宽度和非固定宽度的字体名称。我想在它们之间添加一个不可选择的分隔符:

-- Fixed-width fonts --
Courier New
Lucida Console
...
-- Non-fixed-width fonts --
Arial
...

SWT是否可能?简而言之,答案是否定的。
Combo
CCombo
都不允许将项目标记为不可选择

但是应该可以实现一个定制的组合小部件,它可以通过合理的努力显示不可选择的项目

如果查看,您将看到它不是一个本机小部件,而是由其他SWT小部件组成的。它使用
列表
作为下拉控件来显示项目

如果对下拉小部件使用
ScrolledComposite
,则可以在其中放置
标签
s来表示项目。不可选择的项目不需要额外的工作。对于可选择的项目,您可以使用
标签的鼠标侦听器在悬停时高亮显示它们并处理选择

如果计划显示大量项目(无论如何不应在组合框中显示),则创建的标签数量可能会影响性能

或者,您也可以尝试。可能可以调整该表,使某些项目显示为不可选择(使用自定义绘制的项目),并且可以禁用这些项目的选择行为