Re: Embedding Mozilla with JavaXPCOM and AWT/Swing
Sylvain Ferriol <[email protected]> Mon, 16 Jul 2007 14:34:10 +0200
| Newsgroups | gmane.comp.mozilla.devel.java |
|---|---|
| Message-ID | <SMCdnaRZdJ_a-AbbnZ2dnUVZ_tGonZ2d__36303.499833639$1184589319$gmane$org@mozilla.org> |
Julien1311 wrote:
> Thanks for your help.
> Actually, I'm looking for something which could work on all the OS supported
> by XULRunner. I didn't manage to find any example but some explanations on
> the fact that I should use JNI.
>
> Could you explain why this code only works on Windows?
because under linux, swing uses X11 library but xulrunner uses GTK
library. So xulrunner needs a GTK window ID as parent window, not X11
window ID otherwise it crashs
> Is there somebody who has some other examples which could help me?
>
> Thanks
>
>
> Sylvain Ferriol wrote:
>> Julien1311 wrote:
>>> Hi everybody,
>> hi julien
>>> I'm trying to embed XULRunner into my Java application using JavaXPCOM.
>>> It
>>> seems really complicated for me. Is there someone who has already tried
>>> to
>>> do such a thing and who could give me its sources or a link toward an
>>> example of embedded browser with AWT/Swing ? At least, for the JNI part.
>>>
>> you do not have to use jni, i attach my code for using javaXPCOM using
>> Swing but it works only under windows :(
>>
>> this code works with xulrunner 1.9
>>
>> an example for using JWeb class:
>>
>> File grePath = new File("src/lib/xulrunner");
>>
>> JWeb.start(grePath.getAbsolutePath());
>> jweb = new JWeb();
>>
>> JFrame frame = new JFrame();
>> JPanel panel = new JPanel();
>> panel.setLayout(new BorderLayout());
>> panel.add(jweb, BorderLayout.CENTER);
>> frame.getContentPane().add(panel);
>>
>> frame.setVisible(true);
>>
>> nsIWebProgress webProgress = (nsIWebProgress)
>> jweb.getInterface(nsIWebProgress.NS_IWEBPROGRESS_IID);
>> nsIWebNavigation webNavigation = (nsIWebNavigation)
>> jweb.getInterface(nsIWebNavigation.NS_IWEBNAVIGATION_IID);
>>
>> WebProgressListener aWebProgressListener = new WebProgressListener();
>> webProgress.addProgressListener(aWebProgressListener,
>> nsIWebProgress.NOTIFY_ALL);
>> webNavigation.loadURI("http://www.debian.org",0,null,null,null);
>>
>>
>>> Thanks in advance.
>>
>> _______________________________________________
>> dev-tech-java mailing list
>> [email protected]
>> https://lists.mozilla.org/listinfo/dev-tech-java
>>
>>
>