В настоящее время у меня есть код, который делает вызов из 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 какао должен работать в своем собственном потоке. Так почему же он заморожен?