2013-08-29 1 views
0

Salut, Je viens de commencer à travailler avec des écouteurs de souris dans Java et j'ai rencontré un problème avec où je clique et où les objets apparaissent. Ce que j'ai essayé de faire est de faire apparaître un objet là où je clique, mais où il apparaît à la place sous la souris et un peu à droite.Les coordonnées de la souris ne sont pas précises en Java?

Une raison pour laquelle cela se produit? Tout ce que j'utilise actuellement est mouseX et mouseY comme ints et en le définissant égal à evt.getX()/evt.getY() chaque fois que le bouton est cliqué.

Répondre

1

les coordonnées de la souris sont correctes, mais vous ne les utilisez probablement pas correctement.

  • Votre MouseListener est-il ajouté au JFrame? Si oui, ne faites pas ça. Ajoutez-le au contentPane ou au composant qui contient les objets ajoutés.
  • Notez également que lorsque vous ajoutez des composants à un conteneur, le point d'ajout est la partie supérieure gauche du composant et non le centre. Pour en faire le centre, vous devrez faire un calcul mathématique facile. Pour plus d'aide, publiez un sscce.
2

je veux élargir les sages paroles de « Full Of Hovercraft Eels » (??)

les coordonnées que vous obtenez sont par rapport à la JFrame que vous utilisez, et vous ajoutez le nouvel objet le contentPane.

quelle est la différence?

bien, bien que vous demandez, l'autre est que le Jframe possède une bordure/barre sur les côtés, enter image description here

signifie qu'il est un peu bigeer alors le contentPane et donc lorsque vous ajoutez l'objet est un peu plus à droite et en bas de ce que vous attendiez

enter image description here

Questions connexes