P.S. Небольшой оффтопик: забавную вещь нашел пока гуглил этот вопрос -
наткнулся на сырцы RSSOwl (http://www.rssowl.org/):
public boolean preWindowShellClose() {
final boolean[] res = new boolean[] { true };
.... blach-blach-blach...
if ( чего-то )
res[0] = false;
.... blach-blach-blach...
return res[0];
}
Вот любопытно мне стало - нафига массив нужен? Это теперь модно так
boolean использовать или всё таки WTF? Полный код можно посмотреть
тут:
http://www.google.com/codesearch/p?hl=en#ABBYt4EsxlY/trunk/org.rssowl.ui/src/org/rssowl/ui/internal/ApplicationWorkbenchWindowAdvisor.java&q=preWindowShellClose
... а я не посмотрел :)
Спасибо, огромное!
On 8 май, 16:21, Ilya Shinkarenko <shin...@gmail.com> wrote:
> (не особо углубляясь в код) а почему вы перехватываете момент закрытия
> Workbench в WorkbenchWindowAdvisor, а не в WorkbenchAdvisor#preShutdown
> / WorkbenchAdvisor#postShutdown?
>
> 2009/5/8 sk <Kaperu...@gmail.com>
>
> > Всем привет.
> > В классе ApplicationWorkbenchWindowAdvisor есть метод
> > preWindowShellClose(), переопределив который можно перехватить момент
> > закрытия Workbench, т.е. переспросить пользователя о его намерении
> > закрыть приложение, спросить про сохранение и пр. Так вот, этот метод
> > вызывается при нажатии на кнопку закрытия диалога (типа "Х"), но не
> > вызывается при других способах закрытия окна, таких как обработка
> > экшена ActionFactory.QUIT и пр. Об этом совершенно однозначно написано
> > в JavaDoc к этому методу и у меня вопрос: а как перехватить событие
> > закрытия окна посылаемые другими командами, собственно
> > ActionFactory.QUIT и ему подобных?
>
> > P.S. Небольшой оффтопик: забавную вещь нашел пока гуглил этот вопрос -
> > наткнулся на сырцы RSSOwl (http://www.rssowl.org/):
> > public boolean preWindowShellClose() {
> > final boolean[] res = new boolean[] { true };
> > .... blach-blach-blach...
> > if ( чего-то )
> > res[0] = false;
> > .... blach-blach-blach...
> > return res[0];
> > }
>
> > Вот любопытно мне стало - нафига массив нужен? Это теперь модно так
> > boolean использовать или всё таки WTF? Полный код можно посмотреть
> > тут:
>
> >http://www.google.com/codesearch/p?hl=en#ABBYt4EsxlY/trunk/org.rssowl...
>
>