Comparar revisões

Java em Extensões do Firefox

Revisão 261309:

Revisão 261309 por RuiMaciel a

Revisão 229756:

Revisão 229756 por RuiMaciel a

Título:
Java em Extensões do Firefox
Java em Extensões do Firefox
Slug:
Java_em_Extensões_do_Firefox
Java_em_Extensões_do_Firefox
Etiquetas:
Java, Todas_as_Categorias, Extensões
Conteúdo:

Revisão 261309
Revisão 229756
t7    <p>t
8      Se houver a necessidade de chamar código de Java dentro dum
>a <a href="pt/Extens%c3%a3o">extensão</a> do Firefox, o <a class= 
>"external" href="http://en.wikipedia.org/wiki/LiveConnect">LiveCo 
>nnect</a> poderá ser útil. O LiveConnect dá ao código <a href="pt 
>/JavaScript">JavaScript</a> da sua extensão (ligado ou contido no 
> seu código XUL) acesso a dois objectos: <code>java</code> e <cod 
>e>Packages</code>. Estes dois objectos tornam possível o uso das  
>classes padrão do JDK. Por exemplo: 
9    </p>
10    <pre class="eval">
11var aJavaList = new java.util.LinkedList();
12</pre>
13    <p>
14      Se quiser carregar os seus próprios JARs, então pode criar 
>a sua classe carregadora Java. Por exemplo: 
15    </p>
16    <pre class="eval">
17var cl = new java.net.URLClassLoader(
18    [ new java.net.URL('<a class=" external" href="http://foo.net
>/bar.jar'" rel="freelink">http://foo.net/bar.jar'</a>) ] 
19);
20 
21var aClass = java.lang.Class.forName("org.mozilla.developer.Hello
>World", true, cl); 
22var aStaticMethod = aClass.getMethod("getGreeting", []);
23var greeting = aStaticMethod.invoke(null, []);
24alert(greeting);
25</pre>
26    <p>
27      Esta técnica funciona apenas em código JavaScript ligado de
>ntro de ou contido em ficheiros XUL. Se quiser chamar código Java 
> de dentro de código JavaScript que implementa componentes XPCOM, 
> neste momento só o poderá fazer recorrendo a outra outra técnica 
> (ver <a class="external" href="http://simile.mit.edu/java-firefo 
>x-extension/">Java Firefox Extension</a>). Uma boa razão para cha 
>mar Java de dentro de um componente XPCOM em vez de XUL é para ma 
>nter um singleton (tipo de objecto que força a existência de apen 
>as um objecto duma classe )através todas as janelas do Firefox. S 
>e chamar Java pelo XUL então cada janela do Firefox possuirá a su 
>a própria classe e, por consequência, o seu singleton. 
28    </p>{{ languages( { "en": "en/Java_in_Firefox_Extensions" } )
> }} 

Voltar ao Histórico