Ciao ho provato questo codice tratto da mokabyte.it, solo che il JFrame è tutto nero, qualcuno sa dirmi il perché?
grazie
codice:import javax.swing.*; import java.awt.*; import java.awt.Color.*; import java.awt.event.*; public class Painter extends JPanel { private int startXPoint = 0; // coordinata x di partenza private int endXPoint = 0; // coordinata x di arrivo private int startYPoint = 0; // coordinata y di partenza private int endYPoint = 0; // coordinata y di arrivo private boolean paint = false; // ascoltatore del moto del mouse class mMotionListener implements MouseMotionListener { public void mouseDragged(MouseEvent e) { // aggiorna le coordinate startXPoint = endXPoint; startYPoint = endYPoint; endXPoint = e.getX(); endYPoint = e.getY(); // disegna Painter.this.repaint(); } public void mouseMoved(MouseEvent e) { // aggiorna le coordinate startXPoint = endXPoint; startYPoint = endYPoint; endXPoint = e.getX(); endYPoint = e.getY(); } } // ascoltatore dei pulsanti del mouse class mListener implements MouseListener { // i seguenti metodi sono richiesti dalla // interfaccia MouseListener anche se non // vengono utilizzati public void mouseClicked(MouseEvent e) {} public void mouseEntered(MouseEvent e) {} public void mouseExited(MouseEvent e) {} // pulsante premuto public void mousePressed(MouseEvent e) { // attiva la modalita' di disegno paint = true; } // pulsante rilasciato public void mouseReleased(MouseEvent e) { // disattiva la modalita' di disegno paint = false; } } // Costruttore della classe principale public Painter() { super(); MouseListener ml = new mListener(); addMouseListener(ml); MouseMotionListener mml = new mMotionListener(); addMouseMotionListener(mml); } public void paint(Graphics g) { // se e' attiva la modalita' di disegno, traccia una riga if(paint) g.drawLine(startXPoint,startYPoint,endXPoint,endYPoint); } public static void main(String argv[]) { Painter p = new Painter(); JFrame f = new JFrame("Painter"); f.getContentPane().add(p); f.setSize(400,300); f.setVisible(true); } }