Comment puis-je centre Graphiques.cordon de serrage() en Java?

Je suis actuellement en train de travailler sur le système de menu pour mon Java jeu, et je me demande comment je peux centrer le texte à partir de Graphics.drawString(), de sorte que si je veux dessiner un texte dont le point central est à X: 50 et Y: 50, et le texte est 30 pixels de large et 10 pixels de haut, le texte va commencer à X: 35 et Y: 45.

Puis-je déterminer la largeur du texte avant de me dessiner?

Ensuite, il serait facile de mathématiques.

EDIT: je me demande aussi si je peux obtenir la hauteur du texte, de sorte que je peux centrer verticalement trop.

Toute aide est très appréciée!

  • Ressemble à un duplicata de celui-ci: stackoverflow.com/questions/258486/...
  • C'est quelque chose qui Swing vous fait travailler pour. Essayez cette réponse: stackoverflow.com/questions/23729944/... Si vous venez de commencer la rédaction de votre jeu, JavaFX est le plus moderne des graphiques boîte à outils de la plate-forme Java et peut-être un meilleur choix que le Swing.
  • C'est en partie un doublon, mais il y a une chose cependant. Je me demande comment je peux obtenir la hauteur du texte, parce que FontMetrics.getHeight() / 2 ne me donne pas la moitié de la "vraie" taille du texte... @richj j'ai fait assez bien déjà, donc je pense que je ne vais pas passer en JavaFX. Qui sera pour un autre jeu.
  • fontMetrics.getAscent() peut-être un peu mieux à vos besoins. Il ne comprend pas le "chef de file".
InformationsquelleAutor Daniel Kvist | 2014-12-30