Rechercher : dans
Par :

Drag & drop, probleme affichage images

Dernière réponse le 22 oct 2007 à 17:12:53 boudenmo, le 22 oct 2007 à 16:57:57 
 Signaler ce message aux modérateurs

Bonjour,

J'aimerai créer un logiciel du type visio, c'est à dire avoir une liste d'éléments à ma gauche et faire du drag and drop afin de déssiner des organigrammes.
Pour l'instant j'ai créer une classe gr qui m'affiche bien une image (alternative.jpg) au position 0,0 et j'aimerai ajouter plusieurs autres images par exemple comme un tableau de 2colonnes et plusieurs lignes pour les différents éléments mais je n'ai pas réussit à afficher ma deuxième image à la position 0,100 par exemple.
Est ce que vous pouriez m'aider:

Voici mon code:

import java.awt.Event;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JLayeredPane;
import javax.swing.JPanel;

public class gr extends JFrame implements MouseMotionListener{
JLabel[] label = new JLabel[100]; //Copies de l'image
JPanel p ;//notre panel principal qui contient les images
int nbCopie=0;//nombre de copies existantes

public gr(){//constructeur qui créé la fenetre principale
super("titre");
p = new JPanel(null);
createCopy(); //on ajoute une copie au panel
this.getContentPane().add(p);
this.setSize(800,600);
this.setVisible(true);
}

public static void main(String[] args) {
new gr();
}


public void createCopy(){// créé une nouvelle copie de l'image
label[nbCopie]=new JLabel(new ImageIcon("alternative.jpg"));
//initialise l'image
label[nbCopie].setBounds(0,0,120,160); // initialise sa position aux coordonnéees 0,0
label[nbCopie].addMouseMotionListener(this);//ajoute un mousemotionlistener pour détecter le drag n drop
p.add(label[nbCopie]);//on ajoute la copie au panel
p.repaint();//on redessine le panel
nbCopie++; //incrémente le nombre de copies existantes
}

public void mouseDragged(MouseEvent e) {
//lorsque qu'on fais du drag n drop sur une copie

//si la derniere copie créé a été bougée (coordonnées 0,0),
//on en créé une nouvelle qui sert de modele
if (label[nbCopie-1].getX() != 0 && label[nbCopie-1].getY()!=0) createCopy();

JLabel temp=(JLabel)e.getSource();
//créé une référence vers la copie sur laquelle on a cliqué

temp.setBounds(temp.getX()+e.getX()-60,temp.getY()+e.getY()-80,120,160);
//déplace la copie sur laquelle je fais du drag n drop
}

public void mouseMoved(MouseEvent e) {
}

}

Configuration: Windows XP
Firefox 1.5.0.12

Meilleures réponses pour « drag & drop, probleme affichage images » dans :
Afficher les images et les animations Flash dans le navigateur VoirQuand vous allez sur un site internet, vous n'avez plus d'images affichées ; elles sont remplacées par un petit rectangle avec un carré rouge ou un triangle bleu (par exemple). 1 - Vérifier d'abord les paramètres de votre navigateur : Pour...
ImageMagick - Manipuler les images en ligne de commande VoirImageMagick est un formidable outil en ligne de commande qui permet de manipuler les images. L'avantage de cet outil est qu'il permet: d'automatiser les travaux sur les images (cela évite d'avoir à faire certaines manipulations dans...
Pas d'image sur le vidéoprojecteur VoirPas d'image sur le vidéoprojecteur Le vidéoprojecteur a beau être branché et allumé, l'ordinateur portable refuse d'envoyer la moindre image au vidéoprojecteur. Les ordinateurs portables possèdent généralement une touche de fonction permettant...

1

 boudenmo, le 22 oct 2007 à 17:12:53

C'est urgent! est ce que vous pouriez m'aider rapidement sur ce point s'il vous plait!
merci

Répondre à boudenmo