Bonjour,
Voila je suis en train de réaliser un éditeur de fênetre graphique java.
Je prend un composant java (un JButton par exemple) je le place sur un JPanel et je peux le retailler ou le déplacer.
J'utilise un MouseMotionListener sur le composant pour le retaillage et le déplacement.
Le retaillage fonctionne parfaitement, alors que le déplacement pose un réel problème.
Voici un extraint du code :
Rmq :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 public void mouseDragged(MouseEvent e) { int decalageX=Constantes.getMagnetisme(e.getX()); int decalageY=Constantes.getMagnetisme(e.getY()); switch(mouvement){ case MVT_TRANSLATION: setLocation(decalageX, decalageY); break; case MVT_RESIZE: setSize(decalageX, decalageY); composant.setSize(decalageX, decalageY); break; } }
getMagnetisme renvoi la valeur arrondi pour un effet de magnetisme.
La classe est un JPanel qui contient un JComponent composant
Partager