[RESOLVIDO] Applet ou JApplet?

Eu estou aprendendo sobre Applet e fiz um código que mostra a coordenada do click, porém esse código não funciona em um JApplet…

alguém saberia o porquê?

Applet

[code]/*

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

package pick;

import java.applet.Applet;
import java.awt.*;

/**
*

  • @author Ton
    */
    public class NewJApplet extends Applet {
    Point P;

    @Override
    public void init()
    {
    P = new Point(100, 100);
    }

    public boolean mouseDown(Event evt, int x, int y){
    P.x = x;
    P.y = y;
    repaint();
    return true;
    }
    public void paint (Graphics g){
    g.drawString(“x:” + P.x + " y:" + P.y, P.x, P.y);
    }
    }[/code]

JApplet

[code]package pick;

import java.applet.Applet;
import java.awt.*;
import javax.swing.JApplet;

/**
*

  • @author Ton
    */
    public class NewJApplet extends JApplet {
    Point P;

    @Override
    public void init()
    {
    P = new Point(100, 100);
    }

    public boolean mouseDown(Event evt, int x, int y){
    P.x = x;
    P.y = y;
    repaint();
    return true;
    }
    public void paint (Graphics g){
    g.drawString(“x:” + P.x + " y:" + P.y, P.x, P.y);
    }
    }
    [/code]

também gostaria de saber se tem alguma forma de debugar um applet percorrendo linha a linha

.<"

obrigado desde já

A resposta para a pergunta do título é JApplet. Sempre que for escolher entre componentes AWT x Swing, escolha Swing.

Quanto ao debug, é possível fazer se você estiver usando uma IDE (Eclipse, Netbeans… eles rodam o JApplet pelo AppletViewer e permitem um debug, inclusive passo-a-passo).

E quanto ao programa, é perfeitamente possível fazer em um JApplet. Só não se faz do mesmo jeito. Em Swing, usá-se o padrão Observer, que define Events e Listeners (isso em todo Swing, não só em JApplets). Veja um exemplo:

import java.awt.Graphics;
import java.awt.Point;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.JApplet;

public class NewJApplet extends JApplet {

	private Point p;

	@Override
	public void init() {
		p = new Point(100, 100);
		addMouseListener(new MouseAdapter() {
			@Override
			public void mousePressed(MouseEvent e) {
				p.x = e.getX();
				p.y = e.getY();
				repaint();
			}
		});
	}

	@Override
	public void paint(Graphics g) {
		super.paint(g);
		g.drawString("x:" + p.x + "  y:" + p.y, p.x, p.y);
	}

}

Marco, muito obrigado, ajudou mto msm!!!

Vc sabe de algum material online que eu possa ler sobre Observer, Events e Listeners?

E o que é aquilo que vc fez que o parâmetro da função addMouseListener é outra função?

É a primeira vez que vejo então to meio perdido >.<"

Vlw!

Leituras:

Sobre os Listeners do Swing:

http://java.sun.com/docs/books/tutorial/uiswing/events/index.html

Sobre o padrão Observer:

http://www.dsc.ufcg.edu.br/~jacques/cursos/map/html/arqu/observer.htm
http://www.devmedia.com.br/articles/viewcomp.asp?comp=5719
http://www.javaworld.com/javaworld/javaqa/2001-05/04-qa-0525-observer.html

Como todo os eventos do framework Swing seguem esse padrão é de suma importância entendê-lo ao se desenvolver aplicações desktop.