MouseMotionAdapter

1 resposta
C

Olá,

Gostaria de saber se tem algum outro jeito de usar o mouseMotionAdapter sem ser com classe anomina como no exemplo abaixo.
Por exemplo, criando uma classe MouseHandler extends MouseMotionAdapter pra tratar ou algo assim ???

obrigado !

package listener1;

import java.awt.Graphics;
import java.awt.Point;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;
import java.awt.event.MouseMotionListener;
import javax.swing.JPanel;

public class PaintPanel extends JPanel {

    private int pointCount = 0;
    private Point points[] = new Point[1000];

    public PaintPanel() {

        addMouseMotionListener(new MouseMotionAdapter() {

            public void mouseDragged(MouseEvent e) {
                if (pointCount < points.length) {
                    points[pointCount] = e.getPoint(); // localiza ponto
                    pointCount++; // número de increment de pontos no array
                    repaint(); // repinta JFrame
                } // fim de if
            }
        });
    }

    public void paintComponent(Graphics g) {
        super.paintComponents(g);

        for (int i = 0; i < pointCount; i++) {
            g.fillOval(points[i].x, points[i].y, 4, 4);
        }
    }
}

1 Resposta

Polimorphism

Olá,

Existe sim. Faça isso:

(...)
        addMouseMotionListener( new MouseMotionHandler() );
        (...)
private class MouseMotionHandler extends MouseMotionAdapter{
    public void mouseDragged( MouseEvent e ){
        ( ... )
    }
    ( ... )
}

Bem simples do jeito que vc estava imaginando =)
Boa sorte qualquer dúvida poste aqui.
[]`s

Criado 21 de setembro de 2009
Ultima resposta 21 de set. de 2009
Respostas 1
Participantes 2