我有String
,我想把它画在图像上。我能够绘制点和绘制线条,但是,即使在阅读Text part of the 2D Graphics tutorial之后,我也无法弄清楚如何将String
绘制到我的绘图上。
除非我正在查看错误的教程(但是每当我搜索有关Java的任何内容并使用Graphics
或Graphics2D
绘制字符串时,我都会得到这个教程),我仍然感到难过。 / p>
答案 0 :(得分:8)
查看以下方法。
g.drawString();
drawString()
方法可以满足您的需求。
使用示例:
protected void paintComponent(Graphics g){
g.setColor(Color.BLACK);
g.drawString(5, 40, "Hello World!");
}
请记住,坐标是关于您正在绘制的String
的左下角。
答案 1 :(得分:3)
如果您想使用字符串的形状(例如: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);