なぜ次のコード(そのクラスの一部extends TitleAreaDialog
)で:
@Override
protected void createButtonsForButtonBar(Composite parent) {
super.createButtonsForButtonBar(parent);
this.getButton(IDialogConstants.OK_ID).addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
okPressed();
}
});
}
@Override
protected void okPressed() {
saveInput();
super.okPressed();
}
private void saveInput(){
firstNameSelected = firstNameCombo.getText();
lastNameSelected = lastNameCombo.getText();
}
OK
ボタン を押すと、次の例外が発生します。
org.eclipse.swt.SWTException:ウィジェットはorg.eclipse.swt.SWT.error(SWT.java:4361)のorg.eclipse.swt.SWT.error(SWT.java:4276)のorg.eclipseに配置されます。 swt.SWT.error(SWT.java:4247)at org.eclipse.swt.widgets.Widget.error(Widget.java:468)at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:340) org.eclipse.swt.widgets.Combo.getText(Combo.java:1006)で
インライン:firstNameSelected = firstNameCombo.getText();
のsaveInput
?
ウィジェットが選択時に破棄されるのはなぜですか?