DimeCfh91
26-02-2010, 15:46
ciao ragazzi, devo svolgere un programma che comprende la gestione del mouse.
Praticamente al mio click deve apparire un cerchio con il centro nelle coordinate dove ho cliccato. Perņ non riesco a capire cosa sbaglio nel metodo paint visto che non mi stampa niente!
Questo č il codice che ho scritto:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class cerchiomouse extends JFrame implements MouseListener
{
int coox,cooy,cont=0;
int r=10;
Area cerchio = new Area();
public void finestra()
{
setSize(400,400);
cerchio.addMouseListener(this);
this.addMouseListener(this);
setVisible(true);
add(cerchio);
}
public void mousePressed(MouseEvent e) {}
public void mouseReleased(MouseEvent e) {}
public void mouseClicked(MouseEvent e)
{
cont = cont+1;
coox=e.getX();
cooy=e.getY();
repaint();
}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
class Area extends Canvas
{
public void paint(Graphics g)
{
if (cont>0)
{
g.setColor(Color.black);
g.fillOval(coox+r,cooy+r,r*2,r*2);
}
}
}
}
praticamente io clicco dentro la finestra e grazie a bluej vedo i valori delle variabili, queste effettivamente cambiano quindi non avrei un problema di coordinate perņ non mi mostra niente, da cosa puņ dipendere?
Praticamente al mio click deve apparire un cerchio con il centro nelle coordinate dove ho cliccato. Perņ non riesco a capire cosa sbaglio nel metodo paint visto che non mi stampa niente!
Questo č il codice che ho scritto:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class cerchiomouse extends JFrame implements MouseListener
{
int coox,cooy,cont=0;
int r=10;
Area cerchio = new Area();
public void finestra()
{
setSize(400,400);
cerchio.addMouseListener(this);
this.addMouseListener(this);
setVisible(true);
add(cerchio);
}
public void mousePressed(MouseEvent e) {}
public void mouseReleased(MouseEvent e) {}
public void mouseClicked(MouseEvent e)
{
cont = cont+1;
coox=e.getX();
cooy=e.getY();
repaint();
}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
class Area extends Canvas
{
public void paint(Graphics g)
{
if (cont>0)
{
g.setColor(Color.black);
g.fillOval(coox+r,cooy+r,r*2,r*2);
}
}
}
}
praticamente io clicco dentro la finestra e grazie a bluej vedo i valori delle variabili, queste effettivamente cambiano quindi non avrei un problema di coordinate perņ non mi mostra niente, da cosa puņ dipendere?