Как использовать классы Java Graphics или Graphics2D, как нарисовать строку?
-
05-07-2019 - |
Вопрос
У меня есть String
, и я хочу нарисовать его на изображении. Однако я могу рисовать точки и рисовать линии даже после прочтения Текстовая часть учебника по 2D-графике , я не могу понять, как взять String
и нарисовать его на своем чертеже.
Если я не смотрю неправильный учебник (но я получаю его всякий раз, когда ищу что-нибудь о Java и рисовании строк с использованием Graphics
или Graphics2D
), я Я все еще в тупике.
Решение
Проверьте следующий метод.
g.drawString();
drawString () Метод code>
сделает то, что вам нужно.
Пример использования:
protected void paintComponent(Graphics g){
g.setColor(Color.BLACK);
g.drawString(5, 40, "Hello World!");
}
Просто помните, что координаты относятся к нижнему левому углу String
, который вы рисуете.
Другие советы
если вы хотите поиграть с shape вашей строки (например: 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);