Java 仅当SWT.READ_时如何重置组合
我正在使用Java 仅当SWT.READ_时如何重置组合,java,eclipse-plugin,swt,Java,Eclipse Plugin,Swt,我正在使用org.eclipse.swt.widgets.Combo类,我正在执行以下操作 Combo myCombo = new Combo(container, SWT.READ_ONLY); myCombo.add("1"); myCombo.add("2"); //later on myCombo.setText(""); //will not work because READ_ONLY 用户将选择组合的一个元素,我提供了一个重置按钮,希望将值设置为null。但是,根据javado
org.eclipse.swt.widgets.Combo
类,我正在执行以下操作
Combo myCombo = new Combo(container, SWT.READ_ONLY);
myCombo.add("1");
myCombo.add("2");
//later on
myCombo.setText(""); //will not work because READ_ONLY
用户将选择组合的一个元素,我提供了一个重置按钮,希望将值设置为null。但是,根据javadoc,当接收器为只读时,setText方法被忽略。我喜欢将组合设置为只读,因为我只希望用户选择我提供的内容。。但如果可能的话,我想将该值设置回null或“”。我可以用只读接收器的接收器来执行此操作吗?或者,还有什么好办法
谢谢 使用组合。取消所有()
重置选择
或者,您可以使用:
combo.deselect( combo.getSelectionIndex() );
在这两种情况下,getSelectionIndex()
将在之后返回-1
这些方法看起来好像组合支持多重选择,但它不支持。无论它们看起来多么奇怪,它们都会重置选择。最好的方法是使用ComboViewer
List<String> input = new ArrayList<String>();
input.add("1");
input.add("2");
combo = new ComboViewer(container, SWT.READ_ONLY);
combo.setLabelProvider(new LabelProvider());
combo.setContentProvider(ArrayContentProvider.getInstance());
combo.setInput(input);
问候
combo.setSelection(StructuredSelection.EMPTY);