Si je dessine des cercles à l'aide de Java2D. Y at-il un moyen d'afficher du texte lorsque je survole un des cercles? c'est-à-dire que je veux afficher l'identifiant de ce cercle et d'autres choses.Java 2D. Survoler le cercle
Répondre
Vous devrez sauvegarder tous les centres et rayons et les tester par rapport à la position actuelle de la souris.
C'est une opération assez simple. Si la distance entre la position de la souris et le centre de l'un des cercles est plus petite que le rayon, la souris est à l'intérieur et vous pouvez dessiner le message que vous voulez.
il y a une question ici qui montre le calcul: Equation for testing if a point is inside a circle
espoir qui aide ...
Il y a une classe Polygon qui pourrait le faire pour vous (la méthode contient), mais aucun des l'implémentation des classes est un cercle: S
Il existe plusieurs façons d'accomplir ce que vous voulez. Ceci est une solution. Je suppose que vous utilisez Ellipse2D pour créer le cercle. Et je suppose que vous dessinez le cercle sur un composant JComponent comme un JPanel.
Vous déclarez donc l'Ellipse. Ensuite, vous implémentez MouseMotionListener pour détecter lorsque l'utilisateur déplace la souris sur JPanel.
public void mouseMoved(MouseEvent e){
if(circle.contains(e.getPoint())){
//the mouse pointer is over the circle. So set a Message or whatever you want to do
msg = "You are over circle 1";
}else{
msg = "You are not over the circle";
}
}
ensuite dans la peinture() ou paintComponent (selon celui que vous surchargez faire le tableau):
g2.fill(circle);
g2.drawString(msg, 10, 10); //write out the message
Je ne sais pas si vous pouvez le faire directement. Mais vous pouvez utiliser des maths simples pour vérifier la position des curseurs: (x-a)^2 + (y -b)^2 = r^2 où x, y est la position des curseurs a, b est le centre des cercles et r est le rayon.
- 1. Comment dessiner un cercle sur JPanel? Java 2D
- 2. Survoler la couleur en Java
- 3. cercle emballage - java
- 4. Java 2D ArrayList et le tri
- 5. 2D LinkedList.contains() en Java
- 6. Rectangles graphiques Java 2D
- 7. 2D Array Question Java
- 8. Picking in java 2d
- 9. popup 'survoler' avec Tkinter
- 10. Survoler l'élément 'layered' ... possible?
- 11. Survoler la courbe
- 12. Comment dessiner un cercle plein en Java?
- 13. Déterminer si le point 3D est à l'intérieur du cercle 2D
- 14. Cadre de dessin 2D Java
- 15. problème de collision cercle cercle
- 16. Vérification de deux bits adjacents dans le tableau 2D (Java)
- 17. Je dois cercles concentriques comment puis-je limiter la traînée de cercle dans le cercle extérieur + java
- 18. Car tourner cercle et déplacer le sprite
- 19. Création d'une forme composite en Java 2D
- 20. tableau dynamique 2d dans Java utilisant Arraylist
- 21. Questions de performance graphique Java 2D
- 22. effet « écran » dans les graphiques Java 2D
- 23. comment exporter une table 2D en Java
- 24. liste de tableau 2D en Java
- 25. Cercle Problème
- 26. Comment créer un cercle "saut" dans l'interface graphique Java?
- 27. Java: répartir uniformément les nœuds sur la circonférence d'un cercle
- 28. Comment dessiner un cercle d'apparence décente en Java
- 29. Survoler comment changer la frontière div
- 30. Survoler l'état pour UIButton sur iPhone
Il vaut mieux utiliser l'équation du cercle (changer == pour <) parce que la vérification de la distance nécessite le calcul de la racine carrée. –
vrai. J'aurais dû dire la distance au carré par rapport au rayon carré: D j'ai pointé l'autre lien de question qui a le code python pour cela: D merci pour la correction: D –