|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Feb 2013
Messaggi: 5
|
[JAVA] Creazione cerchi
Salve, sono nuovo del forum, avrei bisogno di una mano...devo creare un'applet in cui facendo click col mouse crei un cerchio. Il problema è che quando riclicco, il cerchio si sposta invece di crearne un altro...Qualcuno può aiutarmi? Vi posto il codice:
Codice:
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class nome extends Applet implements MouseListener
{
int X, Y;
public void init()
{
addMouseListener(this);
}
public void paint(Graphics g)
{
g.drawString("Creazione cerchi",150,150);
g.fillOval(X,Y,20,20);
}
public void mousePressed(MouseEvent E)
{
X=E.getX();
Y=E.getY();
}
public void mouseReleased(MouseEvent E){}
public void mouseEntered(MouseEvent E){}
public void mouseExited(MouseEvent E){}
public void mouseClicked(MouseEvent E){}
}
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Funziona così: ad ogni evento di "repaint" il graphics viene ridisegnato da zero, cioè quando si aggiorna il disegno vengono rieseguite le operazioni contenute nel metodo "paint".
Quindi se tu ad ogni click del mouse ti limiti a memorizzare la posizione XY del mouse pointer in due variabili che poi usi nel "paint" per disegnare un solo cerchio succede quello che hai già esperito. Come potresti fare? Ad esempio gestendo una lista di queste coordinate. Ad ogni click del mouse sul disegno aggiungi una nuova coppia XY di coordinate alla lista; nel "paint" disegni un cerchio per ogni elemento di questa lista di coordinate.
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|
|
|
|
|
#3 |
|
Junior Member
Iscritto dal: Feb 2013
Messaggi: 5
|
nuovo codice
Sono riuscito in parte a risolvere il problema dei cerchi ma dopo che aggiungo il bersaglio non va più...
Codice:
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
public class cerchio extends Applet
{
public void paint(Graphics g)
{
g.setColor(Color.BLACK);
g.fillOval(100, 100, 300, 300);
g.setColor(Color.RED);
g.fillOval(125, 125, 250, 250);
g.setColor(Color.BLACK);
g.fillOval(150, 150, 200, 200);
g.setColor(Color.RED);
g.fillOval(175, 175, 150, 150);
g.setColor(Color.BLACK);
g.fillOval(200, 200, 100, 100);
}
public boolean mouseClick(MouseEvent E, int X, int Y)
{
Graphics g=getGraphics();
g.setColor(Color.RED);
g.fillOval(X,Y,10,10);
return true;
}
}
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:09.



















