Как использовать классы Java Graphics или Graphics2D, как нарисовать строку? - PullRequest
3 голосов
/ 30 июля 2009

У меня есть String, и я хочу нарисовать его на изображении. Я могу рисовать точки и рисовать линии, однако, даже прочитав текстовую часть учебника 2D-графики , я не могу понять, как взять String и нарисовать его на своем чертеже. .

Если я не смотрю на неправильный учебник (но тот, который я получаю всякий раз, когда я ищу что-нибудь о Java и рисовании строк с использованием Graphics или Graphics2D), я все еще в замешательстве.

Ответы [ 2 ]

8 голосов
/ 30 июля 2009

Проверьте следующий метод.

g.drawString();

Метод drawString() сделает то, что вам нужно.

Пример использования:

protected void paintComponent(Graphics g){
    g.setColor(Color.BLACK);
    g.drawString(5, 40, "Hello World!");
}

Просто помните, что координаты относятся к нижнему левому углу String, который вы рисуете.

3 голосов
/ 30 июля 2009

, если вы хотите поиграть с формой вашей строки (например: fill: red и stroke: blue):

Graphics2D yourGraphicsContext=(...);
Font f= new Font("Dialog",Font.PLAIN,14);
FontRenderContext frc = yourGraphicsContext.getFontRenderContext();
TextLayout tl = new TextLayout(e.getTextContent(), f, frc);
Shape shape= tl.getOutline(null);

//here, you can move your shape with AffineTransform (...)

yourGraphicsContext.setColor(Color.RED);
yourGraphicsContext.fill(shape);
yourGraphicsContext.setColor(Color.BLUE);
yourGraphicsContext.draw(shape);
...