Ho scritto questo programma per disegnare a mano libera con il mouse:
non funziona!!!codice:import java.awt.*; import java.awt.event.*; public class Disegni2 extends Frame { CanvasUtente tela = new CanvasUtente(); public Disegni2() { super ("Disegni a mano libera"); setBounds (50, 50, 700, 450); setLayout (new BorderLayout()); // Configurazione e inserimento del supporto di tracciatura tela.setBackground (Color.green); tela.setForeground (Color.red); add (tela, "Center"); // Creazione del pannello di controllo Panel controlli = new Panel(); controlli.setBackground (Color.blue); Button bClear = new Button ("Clear"); bClear.addActionListener ( new ActionListener() { public void actionPerformed (ActionEvent e) { tela.repaint(); } }); controlli.add (bClear); add (controlli, "South"); setVisible (true); } } class CanvasUtente extends Canvas { private int lastX, lastY; public CanvasUtente () { super(); AscMsDrag ascDrag = new AscMsDrag (); addMouseMotionListener (ascDrag); AscMsClick ascClick = new AscMsClick (); addMouseListener (ascClick); } class AscMsClick extends MouseAdapter { MouseAdapter adpMsClick = (new MouseAdapter(){ public void mousePressed (MouseEvent e) { lastX = e.getX(); lastY = e.getY(); } }); } class AscMsDrag extends MouseMotionAdapter { MouseMotionAdapter adpMsDrag = (new MouseMotionAdapter() { public void mouseDragged (MouseEvent e) { int x = e.getX(); int y = e.getY(); Graphics g2 = getGraphics(); g2.drawLine(lastX, lastY, x, y); lastX = x; lastY = y; } }); } }
perchè?![]()
Grazie![]()

Rispondi quotando