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 - Un'immagine draggable
Forum - Java - Un'immagine draggable

Avatar
bububs (Normal User)
Expert


Messaggi: 253
Iscritto: 11/03/2010

Segnala al moderatore
Postato alle 11:21
Domenica, 01/07/2012
Ciao a tutti vorrei che mi spiegaste anche con qualche esempio come si possa rendere una immagine trascinabile in un jpanel :k:

PM Quote
Avatar
fraioveio (Member)
Rookie


Messaggi: 34
Iscritto: 27/03/2011

Segnala al moderatore
Postato alle 15:08
Giovedì, 16/08/2012
Ciao...
Intanto l'immagine la disegni o è un Component?

PM Quote
Avatar
bububs (Normal User)
Expert


Messaggi: 253
Iscritto: 11/03/2010

Segnala al moderatore
Postato alle 16:26
Giovedì, 16/08/2012
ciao :) la disegno :)

PM Quote
Avatar
fraioveio (Member)
Rookie


Messaggi: 34
Iscritto: 27/03/2011

Segnala al moderatore
Postato alle 16:50
Giovedì, 16/08/2012
Ok prova a fare:
Codice sorgente - presumibilmente Java

  1. public class MioPanel extends JPanel {
  2.     public Point immP = new Point(0, 0), mpp;
  3.     public BufferedImage imm = ....;
  4.  
  5.     public MioPanel() {
  6.         addMouseMotionListener(new MouseMotionListener() {
  7.             @Override
  8.             public void mouseDragged(MouseEvent e) {
  9.                 if(mmp != null) {
  10.                     immP = new Point(e.getX() - mpp.x, e.getY() - mpp.y);
  11.                     repaint();
  12.                 }
  13.             }
  14.            
  15.             @Override
  16.             public void mouseMoved(MouseEvent e) {}
  17.         });
  18.        
  19.         addMouseListener(new MouseListener() {
  20.             @Override
  21.             public void mousePressed(MouseEvent e) {
  22.                 if(new Rectangle(immP.x, immP.y, imm.getWidth(), imm.getHeight().contains(e.getX(), e.getY())) {
  23.                     mpp = new Point(e.getX() - immP.x, e.getY() - immP.y);
  24.                 }
  25.             }
  26.            
  27.             @Override
  28.             public void mouseReleased(MouseEvent e) {
  29.                 mpp = null;
  30.             }
  31.            
  32.             /*  Altri metodi astratti da inserire */
  33.         });
  34.     }
  35.    
  36.     @Override
  37.     public void paint(Graphics g) {
  38.         g.drawImage(imm, immP.x, immP.y, this);
  39.     }
  40. }



Spero che funzioni! Non so perchè non l'ho provato :k:

PM Quote
Avatar
bububs (Normal User)
Expert


Messaggi: 253
Iscritto: 11/03/2010

Segnala al moderatore
Postato alle 23:21
Mercoledì, 05/09/2012
scusa il ritardo della risposta ma ho avuto problemi 8-|
grazie mille :k:

PM Quote