Attualmente sto lavorando sul sistema di menu per la mia Java gioco, e mi chiedo come posso centrare il testo da Graphics.drawString()
, in modo che se voglio disegnare un testo il cui punto centrale è a X: 50
e Y: 50
, e la il testo è 30
pixel di larghezza e 10
di altezza, il testo inizierà da X: 35
e Y: 45
.Come posso centrare Graphics.drawString() in Java?
Posso determinare la larghezza del testo prima di disegnarlo?
Quindi sarebbe facile matematica.
MODIFICA: Mi chiedo anche se riesco a ottenere l'altezza del testo, in modo che possa centrarlo anche verticalmente.
Qualsiasi aiuto è apprezzato!
Sembra un duplicato di questo: http://stackoverflow.com/questions/258486/calculate-the-display-width-of-a- string-in-java – mwarren
Questo è qualcosa su cui Swing ti fa lavorare. Prova questa risposta: http://stackoverflow.com/questions/23729944/java-how-to-visually-center-a-specific-string-not-just-a-font-in-a-rectangle Se hai appena ha iniziato a scrivere il tuo gioco, JavaFX è il più moderno kit di strumenti grafici incluso con la piattaforma Java e potrebbe essere una scelta migliore rispetto a Swing. – richj
@mwarren È in parte un duplicato, ma c'è comunque una cosa. Mi chiedo come posso ottenere l'altezza del testo, perché 'FontMetrics.getHeight()/2' non mi dà la metà dell'altezza" reale "del testo ... @richj Ho già fatto abbastanza , quindi penso che non passerò a JavaFX. Questo sarà per un altro gioco. –