Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Java - MovingUndecoratedFrame
Forum - Java - MovingUndecoratedFrame

Avatar
killer (Normal User)
Expert


Messaggi: 217
Iscritto: 19/07/2009

Segnala al moderatore
Postato alle 10:32
Venerdì, 08/10/2010
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 il 08/10/2010 alle 10:34
PM Quote
Avatar
paoloricciuti (Ex-Member)
Pro


Messaggi: 137
Iscritto: 27/04/2010

Segnala al moderatore
Postato alle 16:24
Venerdì, 08/10/2010
È 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:
Codice sorgente - presumibilmente Java

  1. private class Mouse extends MouseAdapter{
  2.     private Point old;
  3.  
  4.     @Override
  5.     public void mousePressed(MouseEvent e){
  6.         this.old=e.getPoint();
  7.     }
  8.  
  9.     @Override
  10.     public void mouseDragged(MouseEvent e){
  11.         Point p= e.getPoint();
  12.         int x=p.x-this.old.x;
  13.         int y=p.y-this.old.y;
  14.         setLocation(getX()+x,getY()+y);
  15.     }
  16. }



Naturalmente poi dovrai aggiungere sia il MouseMotionListener che il MouseListener!!

PM Quote
Avatar
killer (Normal User)
Expert


Messaggi: 217
Iscritto: 19/07/2009

Segnala al moderatore
Postato alle 7:08
Martedì, 12/10/2010
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 il 12/10/2010 alle 7:10
PM Quote