Jump to content
emanuelx

java applet interação com javascript

Recommended Posts

emanuelx

boas, encontrei este tutorial a mostrar como fazer a interação com o javascript, mas o problema é que os ficheiros no site rabalham bem, mas eu fiz o download do exemplo inseri no xampp, e ele não funciona.

já tentei vários exemplos mas não consigo que haja comunicação entre eles.

é necessário ter alguma coisa a mais no xampp?

Não si porque é que não está a funcionar, porque o browser até me pede para eu executar o java.


com calma e sem stresses

Share this post


Link to post
Share on other sites
brunoais

Faltam os pormenores.

Não faço ideia o que está errado é muito complicado com a informação que forneces.


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
Ernest

Bom dia,

LiveConnect fornece ao Javascript a capacidade de chamar os métodos das classes Java e vice-versa.

Javascript <--------- LiveConnect -------------> JAVA

Para entender a tecnologia conhecer a história é fundamental :

A linguagem Javascript foi criada em 1995 por Brendan Eich, para a Netscape Communications Corporation.

Em Dezembro de 1995, Sun e Netscape anunciou o lançamento de Javascript .

Brendan Eich desenvolveu inicialmente uma linguagem de script do lado do servidor, chamado LiveScript para fortalecer a oferta comercial do servidor HTTP da Mosaic Communications Corporation. A saída do LiveScript vem num momento em que a NCSA força Mosaic Communications Corporation para mudar seu nome para Netscape Communications Corporation.

Netscape estava trabalhando para desenvolver uma versão LiveScript orientada para o cliente. Poucos dias antes de seu lançamento, Netscape mudou o nome da LiveScript para Javascript. Sun Microsystems e Netscape eram parceiros, e a máquina virtual Java (JVM) cada vez mais popular graças as famosas Applets. A mudança de nome foi do interesse de ambas as empresas.

Tudo isto para dizer que Java e Javascript estão ligados desde 1995.

Como utilizar : Javascript <--------- LiveConnect -------------> JAVA ?

LiveConnect Support in the New Java™ Plug-In Technology

https://jdk6.java.net/plugin2/liveconnect/

Primeiro deve saber que por razões de segurança redobradas contra os problemas ligados a SECURITY nos APPLETS a ORACLE meteu algumas restrições suplementares.

1- Instalar o ultimo Java Platform (JDK) 7u25 (ou mais recente).

http://www.oracle.com/technetwork/java/javase/downloads/index.html

2- Installar Firefox, Chrome e activar o JAVA nos navegadores WEB : http://java.com/en/download/help/enable_browser.xml

Teste : https://eyeasme.com/Shayne/HTML5_APPLETS/

3- Instalar NetBeans IDE 7.3.1 (ou mais recente).

https://netbeans.org/

Usando o NetBeans é mais fácil (mais fácil do que Eclipse, IntelliJ) para o desenvolvimento Web, Java EE, HTML5, Javascript ... etc A vantagem do NetBeans no nosso exemplo é ter um servidor Tomcat eo GlassFish para ser instalado com o NetBeans durante a instalação.

Eu recomendo NetBeans IDE Download Bundles : ALL ou se não apenas Java EE

A utilização de um servidor é obrigatoria por que as Applets locais não funcionam por razões de SECURITY:

http://blog.eisele.net/2013/04/java-7-update-21-security-improvements.html

Em local pode talvez utilizar o AppletViewer : http://en.wikipedia.org/wiki/AppletViewer

Agora vou explicar como implementar Javascript -------------> JAVA

1- lançar NetBeans 7.3.1 : criar um projeto NetBeans : File --> New Project --> Java / Java Application

Escolha o navegardor Web no menu NetBeans : Tools ---> Options --> Web Browser (utilize o FIREFOX é muito mais facile para as APPLETS o Google Chrome tem alguns problemas com Applets)

meter este codido JAVA da Applet :

import java.applet.Applet;
import java.awt.Color;
public class MinhaApplet extends Applet {

    public void MetodoJava()
    {
		    setBackground(Color.green);
    }
}


Quando terminado fazer um Build : click direito / Build

Depois criar um outro projeto NetBeans : File --> New Project --> Java Web / Web Application

Neste novo projeto NetBeans meter este codigo HTML5 num ficheiro que se chama por exemplo MinhaPageWeb1.html na pasta : Web Pages ao lado do index.jsp

Mas primeiro ir no projeto mais assima (no Java Application da Applet) e copiar o JAR que se encontra no Anglet Files ao meio de Projects e Services.

Na pasta directory chamada dist no meu caso chama-se JavaApplication2.jar copiar este ficheiro ao lado do ficheiro HTML5 , obviamente no seu caso os nomes podem ser diferentes.

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>

<script type="text/Javascript">
function functionJavascript ()
{
document.appletJava.metodoJava();
}
</script>

</head>
<body>
<h1>APPLET :</h1>

<object type="application/x-java-applet" name="appletJava" height="300" width="550">
<param name="code" value="MinhaApplet" />
<param name="archive" value="JavaApplication2.jar" />
<param name="java_arguments" value="-Djnlp.packEnabled=true"/>
Applet failed to run. No Java plug-in was found.
</object>

</applet>

<h1>FORM :</h1>


<form>
<input type="button" value="chamar uma função Javascript" onclick="functionJavascript();" />
</form>
</body>
</html>

Repar que name="appletJava" é a chave da ligação dos dois mundos Java e Javascript.

Agora é so fazer um click direito no fichiero HTML MinhaPageWeb1.html e Run

Em função do navegardor Web que foi configurado no menu NetBeans : Tools ---> Options --> Web Browser

O navegador sera automaticamente lançado com a Applet.

Para implementar Javascript <------------- JAVA

E so fazer quaze a mesma coisa, com este codigo :

JAVA :

import java.applet.Applet;
import java.applet.AppletContext;
import java.net.MalformedURLException;
import java.net.URL;
public class MinhaApplet2 extends Applet {


    AppletContext ctx;


    public void init()
    {
		    ctx = getAppletContext();
    }

    public void start()
    {
		    try {

				    ctx.showDocument(new URL("Javascript:metodoJavascript()"));

		    } catch (MalformedURLException e) { }
    }
}

HTML5 :

<html>
<head>
<script type="text/Javascript">
function metodoJavascript()
{
alert("Metodo Javascript a partir du Java");
}
</script>
</head>
<object type="application/x-java-applet" height="300" width="550">
<param name="code" value="MinhaApplet2" />
<param name="archive" value="JavaApplication3.jar" />
<param name="java_arguments" value="-Djnlp.packEnabled=true"/>
Applet failed to run. No Java plug-in was found.
</object>
</html>

Mais uma vez este editor do Forum não é nada pratico para editar codigo formatado corretamente.

Cordialmente

Ernest Duarte

Edited by Baderous
geshi
  • Vote 1

Share this post


Link to post
Share on other sites
emanuelx

Para mais informações da ORACLE / SUN sobre LiveConnect

http://docs.oracle.com/javase/tutorial/deployment/applet/

Invoking Javascript Code From an Applet

Invoking Applet Methods From Javascript Code

foi esse tutorial que eu estava a usar, mas não estava a conseguir fazer a comunicação, de qualquer forma obrigado, vou ver se consigo implementar da forma como tu explicaste

está a funcionar perfeitamente, obrigado pelo tutorial :)

mas agora tenho um problema, já tenho o ficheiro assinado, e funciona 5* no xampp, mas quando inseri no servidor, ele não consegue chamar a função do applet.

Edited by emanuelx

com calma e sem stresses

Share this post


Link to post
Share on other sites
Ernest

Bom dia,

Obrigado Baderous por ter editado corretamente o código com syntax highlighting.

A linguagem Java faz a diferença entre letras maiúsculas e minúsculas.

Em Java, por convenção, apenas as classes começam com letras maiúsculas.

Isto significa que tudo o resto se inicia com um minúsculo.

O que é o caso no código JAVA : metodoJava() e não MetodoJava()

Por que se não : documento.appletJava.metodoJava(); não funciona ...

Este código funciona com XAMPP e também com http://www.wampserver.com/ e todos os servidores Web até mesmo Apache.

De facto o código neste tutorial é para o software cliente (Web Browser) e não tem nada aver com o servidor.

A única obrigação é de utilizar o standards Web = (HTTP, HTML5/CSS, Javascript).

Cordialmente

Ernest Duarte

Edited by Ernest Duarte

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.