【发布时间】:2020-06-28 20:57:41
【问题描述】:
如何从组合框中获取所选项目的值?执行 saveInput 方法时不断收到空指针异常。
这是我的对话代码:
public class MyTitleAreaDialog extends TitleAreaDialog {
private String age;
private Combo combo;
public MyTitleAreaDialog(Shell parentShell) {
super(parentShell);
}
@Override
public void create() {
super.create();
setTitle("Age Box");
setMessage("Please enter your info..", IMessageProvider.INFORMATION);
}
@Override
protected Control createDialogArea(Composite parent) {
Combo combo = new Combo(container, SWT.READ_ONLY);
combo.setItems(new String[] {"21", "22", "23"});
return area;
}
private void saveInput() {
if(combo.getSelectionIndex() >= 0){
age = combo.getItem(combo.getSelectionIndex());
}
}
@Override
protected void okPressed() {
saveInput();
super.okPressed();
}
public String getSelectedAge() {
return age;
}
}
这是处理程序代码:
public class SampleHandler extends AbstractHandler {
@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindowChecked(event);
MyTitleAreaDialog dialog = new MyTitleAreaDialog(window.getShell());
dialog.create();
if (dialog.open() == Window.OK) {
System.out.println(dialog.getSelectedAge());
}
return null;
}
}
我会很感激任何帮助..我是 Java 和 Eclipse 编程的新手...谢谢!!
【问题讨论】:
-
可理解的问题,提供代码并解释问题!回想一下:关于错误/异常的问题应该使用完整的 error-message 或(在这种情况下)stacktrace。
标签: java eclipse eclipse-plugin swt eclipse-rcp