Usar a tecla Ctrl [RESOLVIDO]

2 respostas
O

Pessoal, queria saber como faço pra colocar uma função (ação) do mouse com o Ctrl.
Preciso fazer uma função em que o usuário segure o "control" e mexa o mouse para arrastar uma imagem.
Eu já tenho a função (ação) do mouse pronta.
Só preciso add o Ctrl.

public class ArrastarImagem extends MouseAdapter implements MouseMotionListener{

    /** */
    int baseX = -1;

    /** */
    int baseY = -1;

    /**
     * @see java.awt.event.MouseMotionListener#mouseDragged(java.awt.event.MouseEvent)
     */
    public void mouseDragged(MouseEvent e) {
        Component b = e.getComponent();
        if ((this.baseX != -1) && (this.baseY != -1)) {
            int x = b.getX() + e.getX() - this.baseX;
            int y = b.getY() + e.getY() - this.baseY;
            b.setLocation(x, y);
            b.getParent().repaint();

            System.out.println("DEBUG_01");
        }
    }

    /**
     * @see java.awt.event.MouseMotionListener#mouseMoved(java.awt.event.MouseEvent)
     */
    public void mouseMoved(MouseEvent e) {
        //
    }

    /**
     * @see java.awt.event.MouseListener#mousePressed(java.awt.event.MouseEvent)
     */
    public void mousePressed(MouseEvent e) {
        this.baseX = e.getX();
        this.baseY = e.getY();

        System.out.println("DEBUG_02");
    }

    /**
     * @see java.awt.event.MouseListener#mouseReleased(java.awt.event.MouseEvent)
     */
    public void mouseReleased(MouseEvent e) {
        this.baseX = -1;
        this.baseY = -1;

        System.out.println("DEBUG_03");
    }
}

2 Respostas

E

InputEvent.getModifiersEx()

O

Consegui aqui.

public void mouseDragged(MouseEvent e) {
        if (e.isControlDown()) {
        Component b = e.getComponent();
        if ((this.baseX != -1) && (this.baseY != -1)) {
            int x = b.getX() + e.getX() - this.baseX;
            int y = b.getY() + e.getY() - this.baseY;
            b.setLocation(x, y);
            b.getParent().repaint();

            System.out.println("DEBUG_01");
        }
        }
    }

Obrigado enantiomero.

Abraço

Criado 22 de setembro de 2009
Ultima resposta 23 de set. de 2009
Respostas 2
Participantes 2