Dúvidas sobre como usar Applets

5 respostas
F

como chamar um determinado metodo atraves de applets em desenvolvimento web com netbeans?
explicando:
tenho uma classe chamada classe2 que possui um metodo apenas, chamado classe (construtor). Tive que criar um main ‘vazio’ para conseguir executar a classe.
No index.jsp eu tenho um applet que está assim:

<html>  
    <head>  
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
        <title>::..TESTE APPLETs..::</title>  
    </head>  
      
    <body>  
        <applet code="classe2.class" width="320" height="80" name="classe2">  
              
              
        </applet>  
  
    </body>  
</html>

E minha classe2 está assim:

import java.applet.*;  
import java.awt.*;  
  
//public static void main(void){}  
public class classe2 extends Applet{  
    public static void main(String[] args){  
  
    }  
    public void classe2(Graphics g){  
        g.drawString("ALO MUNDAO", 100, 20);  
    }  
}

Quando executo a página, o resultado é um retangulo com um ‘X’ indicando erro no lugar da applet.
Com ctz estou me enrolando com o construtor e o main.

Sou novo em JAVA e este é o meu primeiro topico a respeito da linguagem. Espero que possam me ajudar.

5 Respostas

M

Não sei porque está ocorrendo isso, mas lembre-se que Applets não precisam de método main!

Ahh… seu navegador tem o plugin do Java funcionando corretamente?

ViniGodoy

Você deve estender JApplet, e não Applet. O método drawString não é usado desse jeito, você deveria coloca-lo dentro do método paint(), e não do construtor.
Você também retirou o construtor padrão, ao declarar um construtor aceitando um Graphics como parâmetro.

Aliás, você já leu algum material sobre applets?
Antes de começar a programar, é bom pelo menos ter uma mínima noção do que está fazendo…

http://java.sun.com/docs/books/tutorial/uiswing/components/applet.html

F

Então,
Estou com problemas pra usar um metodo da classe Graphics. Esta classe não pode ser instanciada por ser uma classe abstrata.
Tentei declarar -> Graphics g = new Graphics(); mas não funcionou.

ViniGodoy

Como eu já falei, você deve sobrescrever o método paint, da classe Applet.

public class Classe2 extends JApplet{ @Override public void paint(Graphics g){ super.paint(g); Graphics2D g2d = (Graphics2D) g.create(); g2d.drawString("ALO MUNDAO", 100, 20); g2d.dispose(); } }

F

ViniGodoy,
Fiz a classe do jeito que disse, porém quando executo a aplicação o metodo da classe criada não é executado. O navegador fica carregando o java e não para de carregar.
Não precisa mencionar no jsp o metodo da classe que deseja utilizar?

Criado 3 de outubro de 2009
Ultima resposta 18 de out. de 2009
Respostas 5
Participantes 3