Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to determine the length of a graphic string?

I'm creating a graphical timeline out of an excel document and I need to have small tags of the name of the event next to the marker for that event. Some of these are easy and are right justified but others are left justified and I need to figure out their width so that I can properly offset them.

window.drawString("7/4-Fourth of July",horizontalIndex-Offset,verticalIndex);

Currently I'm averaging the pixel width using an average of both font sizes 10 and 32, but this doesn't really cut it. Can someone help me get the exact offset?enter image description here

like image 223
if_zero_equals_one Avatar asked Jun 03 '11 20:06

if_zero_equals_one


2 Answers

This thread explains how to do it: Calculate the display width of a string in Java

You should first get the font metrics, and then ask the metrics how wide a certain string is.

like image 194
Kaj Avatar answered Oct 30 '22 11:10

Kaj


from a java.awt.Graphics object, you can call getFontMetrics. the FontMetrics object has a getStringBounds method that does what you need.

here's the documentation

like image 32
Jeff Paulsen Avatar answered Oct 30 '22 10:10

Jeff Paulsen