gpt4 book ai didi

java - SWT Combo 禁用项目

转载 作者:太空宇宙 更新时间:2023-11-04 07:06:50 27 4
gpt4 key购买 nike


我正在寻找一项小任务的解决方案。
我正在使用 SWT。
我有一个组合类(class):

public class ComboBoxComponent<T> extends Combo {
private ComboViewer comboListViewer;

public ComboBoxComponent(Composite composite, int i) {
super(composite, i);
comboListViewer = new ComboViewer(this);
setVisibleItemCount(15);
comboListViewer.setContentProvider(new org.eclipse.jface.viewers.ArrayContentProvider());
comboListViewer.setLabelProvider(new LabelProvider());
}

public void setDataModelList(T defaultObject, Collection<T> obj) {
Collection<T> defaultCollection = new LinkedHashSet<T>();
if (defaultObject != null)
defaultCollection.add(defaultObject);
defaultCollection.addAll(obj);
comboListViewer.setInput(defaultCollection);
select(0);
notifySelection();
}

public void notifySelection() {
Event event = new Event();
event.type = SWT.Selection;
event.widget = this;
event.display = getDisplay();
event.time = (int) new Date().getTime();
this.notifyListeners(SWT.Selection, event);
}

@Override
protected void checkSubclass() {

}
}

我想禁用选择组合中的某些项目,我该怎么做?

最佳答案

使用 SWT,禁用 ComboBox 不可能的项目,您可以将其删除。您可以使用 Swing 中的 JComboBox 来禁用项目。

您可以像这样桥接 Swing 组件,创建 SWT_AWT 框架和 AWT 面板

java.awt.Frame frame = SWT_AWT.new_Frame();
java.awt.Panel panel = new java.awt.Panel(new java.awt.BorderLayout());

然后将 Swing JComboBox 添加到面板中。

panel.add(jComboBox);

这是将 Swing 嵌入到 SWT 中的教程

http://www.java2s.com/Tutorial/Java/0280__SWT/EmbededSwingAWTcomponentstoSWT.htm

关于java - SWT Combo 禁用项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21231064/

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