Встраивание моста Java SWT / AWT в форму winform - PullRequest
0 голосов
/ 27 февраля 2020

Я создал форму winform с кнопкой, и когда я нажимаю на кнопку, я запускаю процесс Java AWT (.jar). После этого я встраиваю этот процесс в Panel, используя SetParent (...). Код:

var procStartInfo = new ProcessStartInfo();
procStartInfo.WindowStyle = ProcessWindowStyle.Normal;
procStartInfo.FileName = "file.jar";
var process = Process.Start(procStartInfo);

var container = new FormContainer();
container.Show();

Panel p = new Panel();
container.Controls.Add(p);

SetParent(process.MainWindowHandle, p.Handle);

Проблема в том, что когда я вставляю банку ... текстовые поля не реагируют ни на одно нажатие клавиши. Я полагаю, что проблема связана с приложением Java Swing. Используя любое другое приложение moderm Java, все работает нормально

Любая идея, если мне нужно что-то еще, чтобы решить эту проблему

1 Ответ

0 голосов
/ 03 апреля 2020

Проблема в обработчике фокусировки моста. В версии java 1.8 обработчик фокуса использует многопоточный код, и кажется, что это проблема в приложении java embeded. Удаляем асин c код и он отлично работает

...