Я не понимаю, почему я не всегда могу получить доступ к переменной изнутри "слушателя" или "обработчика".
Это мой код:
Button btnDownload = new Button(myparent, SWT.NONE);
btnDownload.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
btnDownload.setEnabled(false); // I CAN'T
}
});
Единственный способ - объявить его с помощью ключевого слова final
:
final Button btnDownload = new Button(myparent, SWT.NONE);
Почему мне нужно объявить переменную final для получения доступа внутри события?