Interface graphique

Résolu
nasriOM Messages postés 8 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 10 décembre 2007 - 31 oct. 2007 à 15:10
nasriOM Messages postés 8 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 10 décembre 2007 - 5 nov. 2007 à 09:41
bonjour,

Voilà je suis en train de créer une interface graphique type visio, de dessin
d'organigramme.

Je sais metter mes éléments à gauche et les faire glisser en drag and
drop.

J'aimerai pouvoir cliquer bouton droit dessus et avoir comme option
supprimer(pour pouvoir supprimer l'élément) et option par exemple(afin de
rentrer un nom à l'objet et du texte).

Si vous avez un  petit peu de temps pour m'aider à résoudre ceci, je vous en serais
reconnaissant.

voilà mon code:
[java]

import java.awt.BorderLayout;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import java.awt.FlowLayout;
import java.awt.event.MouseAdapter;

import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;

public class Test2 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 Test2(){//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 Test2();
}

public void createCopy(){// créé une nouvelle copie de l'image
label[nbCopie]=new JLabel(new ImageIcon("logo.png"));
//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 pa nel
nbCopie++; //incrémente le nombre de copies existantes

label[nbCopie]=new JLabel(new ImageIcon("image.gif"));
//initialise l'image
label[nbCopie].setBounds(100,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
}

private JTextField champDeTexte;

void DialogueEtiquette(String titre) {
   

    JButton bouton = new JButton("OK");
    bouton.addActionListener((ActionListener) this);

    champDeTexte = new JTextField(20);
    champDeTexte.addActionListener((ActionListener) this);

    JPanel panneau = new JPanel();
    panneau.add(bouton);

    getContentPane().add(new JLabel("Donnez l'étiquette"), BorderLayout.NORTH);
    getContentPane().add(champDeTexte, BorderLayout.CENTER);
    getContentPane().add(panneau, BorderLayout.SOUTH);
    pack();
    java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit()
    .getScreenSize();
   
    setLocation((screenSize.width-getSize().width)/2,(screenSize.height-getSize().height)/2);
    setVisible(true);
}

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) {
}
}

/java


Merci

Etudiant UTT

2 réponses

nasriOM Messages postés 8 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 10 décembre 2007
2 nov. 2007 à 02:06
Comment pourais je créer une fenetre en gérant le clique du bouton droit sur l'image glissé?
3
nasriOM Messages postés 8 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 10 décembre 2007
5 nov. 2007 à 09:41
S'il vous plaît, j'aimerai savoir s'il existe une méthode permettant de supprimer une image glissé.
J'en ai besoin pour avancer dans mon projet.
c'est urgent
Etudiant UTT
3
Rejoignez-nous