04/06/10 17:49
S0n1C
ho un piccolo problemino con il metodo paint in poche parole devo disegnare delle linee con il mouse ed ho implementato come segue:
senza considerare che b1 e b2 sono dei bottoni implementati nel resto della classe.il mio problema è che riesco a tracciare la prima linea ma quando vado a tracciare la seconda ,la prima scompare come posso ovviare al problema?
Mi sono accorto che il super.paint(g) è la causa del problema ma eliminandolo invece di comparire una sola linea allo spostamento del mouse ne compaiono molte di più come fare?
..... public void mousePressed(MouseEvent e) { if (count < 5) { count++; lastX = e.getX(); lastY = e.getY(); } else { JOptionPane.showMessageDialog(null, "numero massimo di mosse consentite, si prega di cambiare giocatore"); } } public void mouseReleased(MouseEvent e) { currentx=e.getX(); currenty=e.getY(); } public void mouseDragged(MouseEvent e) { currentx=e.getX(); currenty=e.getY(); repaint(); } ...... ...... public void paint(Graphics g) { super.paint(g); if(b2.isEnabled()){ g.setColor(Color.red); }else{ g.setColor(Color.BLACK); } g.drawLine(lastX, lastY, currentx, currenty); }
senza considerare che b1 e b2 sono dei bottoni implementati nel resto della classe.il mio problema è che riesco a tracciare la prima linea ma quando vado a tracciare la seconda ,la prima scompare come posso ovviare al problema?
Mi sono accorto che il super.paint(g) è la causa del problema ma eliminandolo invece di comparire una sola linea allo spostamento del mouse ne compaiono molte di più come fare?
aaa