将JavaSWT/AWT桥嵌入winform表单
我用一个按钮创建了一个winform表单,当我点击该按钮时,我调用了一个JavaAWT(.jar)进程。之后,我使用SetParent(…)将此进程嵌入到面板中。守则:将JavaSWT/AWT桥嵌入winform表单,java,c#,winforms,awt,embed,Java,C#,Winforms,Awt,Embed,我用一个按钮创建了一个winform表单,当我点击该按钮时,我调用了一个JavaAWT(.jar)进程。之后,我使用SetParent(…)将此进程嵌入到面板中。守则: var procStartInfo = new ProcessStartInfo(); procStartInfo.WindowStyle = ProcessWindowStyle.Normal; procStartInfo.FileName = "file.jar"; var process = Process.Start(p
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);
问题是当我嵌入jar时。。。文本框不响应任何按键事件。我认为这个问题与JavaSwing应用程序有关。使用任何其他ModermJava应用程序,一切都很好
你知道我是否需要其他东西来解决这个问题吗?问题是桥接器焦点处理程序。在Java1.8版本中,焦点处理程序使用多线程代码,这似乎是java嵌入式应用程序中的问题所在。我们删除了异步代码,它工作正常我想问题出在swt awt桥中。windows事件在桥中丢失