codice:
Classe Ascoltatore
public class Ascoltatore implements MouseListener
{
Bersaglio target=null;
JPanel pannello=null;
JLabel label=null;
int D1=0;D2=0;D3=0;
public Ascoltatore(Bersaglio b,JPanel p,JLabel t)
{
target=b;
pannello=p;
label=t;
}
public void setD1(int d1){
D1=d1;
System.out.println("d1: "+D1);
}
public void setD2(int d2){
D2=d2;
System.out.println("d2: "+D2);
}
public void setD3(int d3){
D3=d3;
System.out.println("d3: "+D3);
}
public void mouseClicked(MouseEvent e)
{
}
public void mousePressed(MouseEvent e)
{
int x=e.getX();
int y=e.getY();
int dist =(int)Math.sqrt(Math.pow((target.getX()-x),2)+Math.pow((target.getY()-y),2));
Graphics g = pannello.getGraphics();
label.setText(""+dist);
if (dist > D1) g.setColor(Color.BLACK);
else if (dist < D1 && dist > D2) g.setColor(Color.GREEN);
else if (dist < D2 && dist > D3) g.setColor(Color.BLUE);
else {
label.setText("hai vinto");
g.setColor(Color.RED);
}
g.drawRect(x-2,y-2,4,4);
}
}
Classe Principale
public class FinestraEsame extends JFrame
{
private JPanel pannelloOggetti = new JPanel();
private GridLayout layoutOggetti = new GridLayout();
private JButton bInizia = new JButton();
private JPanel pannello = new JPanel();
private Bersaglio bersaglio = new Bersaglio();
private JTextField textD1 = new JTextField();
private JTextField textD2 = new JTextField();
private JButton bArresa = new JButton();
private JLabel lblRisultato = new JLabel();
int D1=100;
int D2=50;
int D3=-1;
private Ascoltatore controllore=new Ascoltatore(bersaglio,pannello,lblRisultato);
... junk...
}