Escuchador de raton
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) {
}
}
}
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) {
}
}
}
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
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
