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... }