Oppure

Loading
08/10/10 8:32
killer
Salve a tutti..vorrei dei chiarimenti sul come settare la location di un undecorated frame.
Ho provato a fare come segue :

public void mouseDragged(MouseEvent e) {
Point p = SwingUtilities.convertPoint(frame, e.getPoint(), frame.getContentPane());

frame.setLocation(p.x - frame.getWidth() / 2, p.y - frame.getHeight() / 2);
}

ma nulla...non me lo fa proprio muovere il frame..mi da la NullPointerException...mi date una mano ?! cosa sbaglio esattamente?!

ps: rispondetemi presto.grazie
Ultima modifica effettuata da killer 08/10/10 8:34
aaa
08/10/10 14:24
paoloricciuti
È un problema molto spinoso questo. Ad ogni modo la risulozione è più semplice una volta intuite alcune cose: bisogna tenere traccia del punto in cui si è premuto il mouse. Ecco il codice:
private class Mouse extends MouseAdapter{
    private Point old;

    @Override
    public void mousePressed(MouseEvent e){
        this.old=e.getPoint();
    }

    @Override
    public void mouseDragged(MouseEvent e){
        Point p= e.getPoint();
        int x=p.x-this.old.x;
        int y=p.y-this.old.y;
        setLocation(getX()+x,getY()+y);
    }
}


Naturalmente poi dovrai aggiungere sia il MouseMotionListener che il MouseListener!!
aaa
12/10/10 5:08
killer
ok ok grazie..pero come faccio a far in modo che quando sposto il frame , il cursore del mouse lo ritrovo sempre nella posizione iniziale ? ti spiego quando muovo il frame con il mouse ovviamente, il cursore si muove da una posizione all'altra sul frame non resta fissa come mai ?! cosa dovrei fare ?
Ultima modifica effettuata da killer 12/10/10 5:10
aaa