Escuchador de raton

oskrok
19 de Noviembre del 2005
Tengo ke hacer un programa en java que me pinte un circulo cada vez que haga un clic tengo el codigo hecho pero no me funciona a ver si me podeis hechar una mano y otra cosa que no se hacer es que me lo dibuje en las coordenadas en las que estaba el raton en el momento del clic, gracias y ai va el codigo:

package sarampion;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

class MiPanel1
extends JPanel {
public void paintComponent(Graphics g) {
g.setColor(Color.orange);
g.fillOval(140, 120, 20, 20);
}
}

public class Sarampion
extends JFrame {
Container panel;
public Sarampion() {
super("Varicela da boa");
panel = this.getContentPane();
panel.addMouseListener(new OyenteRaton());
setSize(400, 400);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);

}
public static void main(String[] args) {
Sarampion ventana = new Sarampion();
}

class OyenteRaton
implements MouseListener {
public void mouseClicked(MouseEvent e) {
}

public void mouseEntered(MouseEvent e) {
}

public void mouseExited(MouseEvent e) {
}

public void mousePressed(MouseEvent e) {
panel.add(new MiPanel1());
}

public void mouseReleased(MouseEvent e) {
}
}

}

chuidiang
19 de Noviembre del 2005
Hola:

Al panel del JFrame quítale el Layout, de esta manera podrás dibujar donde tú quieras y no donde él quiera.

panel = this.getContentPane();
panel.setLayout(null);

Ahora en el sitio de dibujar, después de añadir un newPanel1(), haz esto

MiPanel1 grano = new MiPanel1();
panel.add(grano);
grano.setLocation (e.getX(), e.getY());
grano.setSize (tamaño del grano);

Se bueno