Ho un JPanel sul quale con il mosue posso disegnare linee, fino a qui ok; il problema si pone quando voglio visualizzare la linea PRIMA di disegnarla definitivamente, per intenderci "clicco" in un punto e tenendo il tasto spinto trascino il cursore (man mano che muovo il mouse si sposta anche la linea) e quando rilascio la linea si disegna fino al punto di rilascio.
Ok, riesco a fare anche questo, ma il problema è che quando vado a disegnare un'altra linea la prima mi viene cancellata....
Insomma vi posto il codice....
codice:
private void jPanel2MousePressed(java.awt.event.MouseEvent evt) {
// Punto di inizio
x1 = evt.getX();
y1 = evt.getY();
System.out.println(x1 +" " +y1);
}
private void jPanel2MouseReleased(java.awt.event.MouseEvent evt) {
// Punto finale
x2 = evt.getX();
y2 = evt.getY();
disegna();
}
private void jPanel2MouseDragged(java.awt.event.MouseEvent evt) {
// Serve a visualizzare la linea che si sta tracciando
jPanel2.repaint();
x2 = evt.getX();
y2 = evt.getY();
jPanel2.getGraphics().drawLine(x1,y1, x2, y2);
}
private void disegna(){
Graphics g = jPanel2.getGraphics();
g.drawLine(x1, y1, x2, y2);
}
Cerco di riassumere:il fatto è che dopo che nel metodo disegna() ho disegnato la linea se aggiorno la JPanel (magari per disegnare un'altra linea) la precedente mi scompare...
Qualsiasi consiglio è benvenuto.....grazie