Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Alexandre Carmo

Problemas com Applet

Recommended Posts

Boa noite

Estou estudando java e estou tentando exibir um applet em um html, quando executo o html ele carrega a página mas deixa apenas um quadrado cinza no lugar que deve aparecer o applet e trava o navegador, esse é meu código, estou usando netbenas e deixei o html no src junto ao arquivo FirstApplet.java:

 

Java:

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package unidade2.aula1;
import java.awt.*;
import java.applet.Applet;


/**
*
* @author alexandre
*/
public class FirstApplet extends Applet {
   Button button1, button2, button3;
    public void init() {
        button1 = new Button("Ok");
        button2 = new Button("Open");
        button3 = new Button("Close");
        add(button1);
        add(button2);
        add(button3);
    }

}

HTML:

<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
 <head>
   <title></title>
   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 </head>
 <body>
   <h1>Teste</h1>
   <hr>
       <applet code=FirstApplet.class width=300 height=120>
       </applet>
   <hr>
   <a href="GraphApplet.java">The source</a>.

 </body>
</html>

Onde estou errando?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pra se trabalhar com interfaces gráficas no Java é necessário fazer a chamada do mecanismo responsável por desenhar os objetos do contêiner numa linha de execução (thread) separada. Tenta isso:

public void init() {
  try {
     SwingUtilities.invokeAndWait(new Runnable() {
         public void run() {
            button1 = new Button("Ok");
            button2 = new Button("Open");
            button3 = new Button("Close");
            add(button1);
            add(button2);
            add(button3);
         }
      });
   } catch (Exception ex) {
       ex.printStackTrace();
   }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não só em outro brownser como em outro sistema operacional, testei em linux e windows.

Apenas mais um detalhe não estou rodando isso a partir de um tomcat, estou executando direto clicando no arquivo html. Isso seria um problema?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nao, applets n precisam d um container p serem executadas... e particularmente nesse teu exercicio você n precisa executar numa Thread seperada como indicou o Vergil..

 

Mas o que me intriga eh que testei aqui e esta funcionando normalmente..

Tente testar no appletviewer pra ver qual sera o resultado:

$ appletviewer nome_arquivo.html

Compartilhar este post


Link para o post
Compartilhar em outros sites

appletviwer, eh um utilitario que vem com o jdk, eh soh você pela linha de comandos, ir no diretorio onde esta o ser aquivo html e rodar, exatamente como fiz no ultimo post!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia

 

Cara consegui valeu pela ajuda, fiz o seguinte eu fiz no netbeans e estava executando o html dentro da estrutura criada pelo netbeans, então resolvi pegar o arquivo .class, .java e o html jogar tudo em um único diretório, fiz isso e executei o html direto e funcionou.

Minha dúvida é, porque no netbeans não roda? Acredito que é devido a forma que joguei o endereço, então qual seria a forma correta de executar pelo netbeans?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.