2013-09-18 5 views
0

Я хочу измерить «наименьшую единицу» строки (которая отображается в JTextArea с некоторым шрифтом).Измерительная строка и ширина шрифта

Это ширина одного символа + интервал после него (что зависит от следующего символа).

Например. Я хочу измерить расстояние между пикселями от начала char A до начала char Z в строке "AZ".

Как я могу это сделать? Я попытался с помощью FontMetrics и измерения ширины строки обоих персонажей вместе, а затем декремента его по ширине второго, но это не сработало ...

+0

Как это не сработало? Что ты получил? –

+0

Можете ли вы опубликовать фрагмент кода? – DT7

+0

FontMetrics должен работать, как Марко спросил, что именно не сработало? Может быть, вы что-то пропустили. – Piro

ответ

3

java.awt.Font имеет

public GlyphVector layoutGlyphVector(FontRenderContext frc, 
            char[] text, 
            int start, 
            int limit, 
            int flags) { 

Затем используйте public Point2D getGlyphPosition(int glyphIndex) метод GlyphVector и сравнить разницу в координатах X для любой желаемой пары символов.

+0

Спасибо, я искал это навсегда !! : D – Karlovsky120