punkybreizh
Messages postés20Date d'inscriptionsamedi 7 août 2004StatutMembreDernière intervention12 novembre 2007
-
27 oct. 2005 à 21:39
scaryman
Messages postés492Date d'inscriptionvendredi 30 janvier 2004StatutMembreDernière intervention16 mai 2007
-
29 oct. 2005 à 15:30
Bonjours à tous,
J'ai crée une class principale avec plusieurs composants dont un
JTextField qui doit récupérer les coordonnées de la souris lorsque
cette dernière survole un imagecomponent se trouvant dans un
jtabbedpane.
voilà le code source du ImageComponent :
import javax.swing.*;
import javax.swing.event.MouseInputAdapter;
import java.awt.*;
import java.awt.event.MouseEvent;
import java.net.URL;
import java.net.MalformedURLException;
public class ImageComponent extends JComponent{
private Image theImage;
private int zoom;
private int theImageW;
private int theImageH;
public Image getImage(){
return theImage;
}
public void setZoom(int z)
{
zoom=z;
repaint();
}
public int getZoom()
{
return zoom;
}
public ImageComponent(Image anImage) {
theImage = anImage;
theImageW=theImage.getWidth(null);
theImageH=theImage.getHeight(null);
}
public Dimension getPreferredSize() {
return new Dimension(theImage.getWidth(null)*zoom/100, theImage.getHeight(null)*zoom/100);
Pour les évènement de la souris il faudrait que j'implémente cette
classe avec un MouseMotionListener et que dans cette classe je fasse :
public void mouseDragged(MouseEvent e) {}
public void mouseMoved(MouseEvent e) {}
mais ke dois-je mettre dans public void mouseMoved(MouseEvent e) {}
pour récupérer la position de la souris et ensuite dans la classe
principale mettre ces coordonnées dans le JtextField
scaryman
Messages postés492Date d'inscriptionvendredi 30 janvier 2004StatutMembreDernière intervention16 mai 200712 27 oct. 2005 à 22:02
salut,
tu peux faire :
Point location = MouseInfo.getPointerInfo().getLocation();
et puis tu récupère les coordonnées x et y que tu affiches dans ton JTextField
voila
a++
scaryman
Messages postés492Date d'inscriptionvendredi 30 janvier 2004StatutMembreDernière intervention16 mai 200712 29 oct. 2005 à 15:30
salut
si Java ne reconnait pas MouseIfo c'est peut-être que tu n'as pas la version 1.5
et pour ta façon de procéder je n'y avais pas pensé mais je suppose que ca marche
pour insérer ces valeurs dans ton JTextField tu n'as qu'a déclarer celui-ci comme objet global à ta classe et puis à faire
tonJTextFiled.setText("" + e + " " + y);
voila
a++