JAVA的WEmbeddedFrame构造器可接受一个本地窗口的Handle,在Frame上在添加一个Panel,在Panel上添加一个JRootPane,再将Swing组件的JPanel添加到JRootPane的容器里,这样Swing组件就添加到本地窗口中了。
这是如果点击JAVA程序里Action,如果弹出的是模态对话框,这时发现模态对话框并没有起作用,解决方法如下,可给WEmbeddedFrame窗体添加ModalityListener监听器,实现modalityPopped和modalityPushed方法,modalityPopped代表JAVA应用里的对话框正在弹起,modalityPushed方法代表JAVA应用里的对话框正在销毁,实现使用JNI本地方法, 锁定本地窗口,这样就可实现模态对话框的作用,如在本地窗口进程里调用JAVA的弹出对话框,会出现死锁,也可以使用JNI本地方法实现。
这是如果点击JAVA程序里Action,如果弹出的是模态对话框,这时发现模态对话框并没有起作用,解决方法如下,可给WEmbeddedFrame窗体添加ModalityListener监听器,实现modalityPopped和modalityPushed方法,modalityPopped代表JAVA应用里的对话框正在弹起,modalityPushed方法代表JAVA应用里的对话框正在销毁,实现使用JNI本地方法, 锁定本地窗口,这样就可实现模态对话框的作用,如在本地窗口进程里调用JAVA的弹出对话框,会出现死锁,也可以使用JNI本地方法实现。