Выравнивание текста с помощью Java Graphics 2d

может ли кто-нибудь сказать мне, как высветить текст прямо в Java 2d?

вот код, он рисует столбец текста, который естественно выровнен слева.

Font yFont = new Font("Arial", Font.BOLD, 13);

interval = 0;

g2d.setFont(yFont);
for (String l : binLabels) {
     g2d.drawString(l, 0, (135 + interval));
     interval = interval + 15;
}

сводит меня с ума. Спасибо вам всем

slothishtype

1 ответов


в методе paintComponent () вы можете использовать FontMetrics для получения ширины строки, которую вы хотите нарисовать:

FontMetrics fm = getFontMetrics( getFont() );
int width = fm.stringWidth("your string here");

затем вы вычисляете смещение, с которого начать покраску, на основе ширины компонента.

вопрос в том, почему вы пытаетесь это сделать. Вы можете просто использовать JLabel и установить его выравнивание вправо.