Класс какао запущен от JNI - PullRequest
       15

Класс какао запущен от JNI

0 голосов
/ 07 декабря 2009

В настоящее время у меня есть код, который делает вызов из java в мое приложение какао с использованием JNI, в функции JNI на стороне какао я создаю новый поток и назначаю свой делегат NSApp, как это сделала бы основная функция. Вот код, который я использую в фиктивном классе, который создает мой реальный класс:

@implementation MenuLauncher 

- (void)run {
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
    [NSApplication sharedApplication];
    Menu *menu = [Menu sharedInstance];
    [NSApp setDelegate:menu];
    [NSApp run];
[pool release];
}

@end

Это копия того, что есть в моей основной функции, только это в потоке.

В результате интерфейс, который создает Меню, не отвечает и выдает только вращающийся пляжный мяч.

Я делаю простое заявление о сне на стороне Java, чтобы поддержать процесс. GUI какао должен работать в своем собственном потоке. Так почему же он заморожен?

1 Ответ

0 голосов
/ 10 декабря 2009

Вам может потребоваться запустить код Какао в главном потоке. Также может потребоваться указание флага «-XstartOnFirstThread» для команды java (как и для приложений SWT).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...