SWT: система VirtualKeyBoard - PullRequest
0 голосов
/ 24 июня 2009

Я хочу разработать системную виртуальную клавиатуру с технологией SWT на платформе powerpc под Ubuntu, и проблема, с которой я сталкиваюсь, заключается в том, как заставить Shell потерять фокус при инициализации окна оболочки.

1 Ответ

3 голосов
/ 29 июля 2009

Метод open() класса Shell делает оболочку видимой и просит оконный менеджер активизировать ее. В большинстве случаев активная оболочка - это самая верхняя оболочка на рабочем столе и оболочка с фокусом.

Если вы хотите сделать оболочку видимой, но не активной, то вы можете попробовать вызвать метод setVisible() вместо open().

Например, я попробовал следующее на моем ПК, и он запустил оболочку без фокуса:

Display display = new Display();
Shell shell = new Shell(display);
shell.setText("Example Shell");
shell.setVisible(true);
while (!shell.isDisposed()) {
    if (!display.readAndDispatch()) {
        display.sleep();
    }
}
display.dispose();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...