SWT - autozamykanie Dialogu

SWT - autozamykanie Dialogu
KA
  • Rejestracja:ponad 14 lat
  • Ostatnio:prawie 14 lat
0

Witam,

jak wykonać akcję aby po jakimś czasie okienko się zamknęło (np. po nie wykonaniu żadnej akcji na nim)

Poniższy fragment:

Kopiuj

		timer = new Timer(8000, new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent arg0) {
				shell.dispose();
			}
		});
		timer.start();

daje w rezultacie:

Kopiuj
Shell {*Wrong Thread*}

Pytanie:
Jak odnaleźć odpowiednie okienko?

iooi
  • Rejestracja:prawie 15 lat
  • Ostatnio:ponad 11 lat
  • Postów:573
0

Czy to ci przy zamykaniu nie wywala SWTException? Nie możesz wołać dispose() z innego wątku niż ten, w którym Shell powstał. Nie wiem, jak to zrobić jakoś elegancko, ale możesz wykorzystać Display.asyncExec(Runnable), żeby poprawnie zwolnić okienko.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.