views:

130

answers:

0

We have two massive applications,lets name them "A_app" and "B_app". Both A_app and B_app come with rich editors. A_app's editor is written using Java-Swing and B_app's editor is written using QT.

Now we need to be able to integrate A_app's editor in B_app's editor, which would effectively mean that we need to integrate an existing Swing based editor in a QT based editor framework. In other words, the problem-domain requires us to embed/render a Java Swing component into a QtWidget seamlessly.

One of the solutions is to re-write the UI for A_app's editor using QT classes and pass all the event handling calls to the already existing Java classes using JNI, which means we are "hijacking" the QT events/calls and passing them to Java libraries. But this approach is error prone and very difficult to manage. The other approach is to have a transparent QT widget and display the A_app's Java editor in the background and then somehow have all the mouse-clicks and keyboard events pass to the Java editor. But I'm not sure if this is feasible or is a good idea at all.

I have looked into Jambi and Koala, both of them provide JNI wrappers around the existing QT libraries. That would require re-writing our Java code base using Jambi for A_app. This is not feasible.

Thanks!