使用Java';s Graphics或Graphics2D类,如何绘制字符串?

使用Java';s Graphics或Graphics2D类,如何绘制字符串?,java,swing,graphics,paint,graphics2d,Java,Swing,Graphics,Paint,Graphics2d,我有一个字符串,我想把它画到一个图像上。我能够画点和画线,但是,即使在阅读了之后,我也不知道如何将字符串绘制到我的图形上 除非我看的是错误的教程(但每当我使用Graphics或Graphics2D搜索有关Java和绘制字符串的任何内容时,我都会得到这个教程),否则我仍然感到困惑。检查以下方法 g.drawString(); 该方法将满足您的需要 使用示例: protected void paintComponent(Graphics g){ g.setColor(Color.BLACK

我有一个
字符串
,我想把它画到一个图像上。我能够画点和画线,但是,即使在阅读了之后,我也不知道如何将
字符串
绘制到我的图形上


除非我看的是错误的教程(但每当我使用
Graphics
Graphics2D
搜索有关Java和绘制字符串的任何内容时,我都会得到这个教程),否则我仍然感到困惑。

检查以下方法

g.drawString();
该方法将满足您的需要

使用示例:

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

请记住,坐标是关于您正在绘制的
字符串的左下角。

如果您想玩字符串的形状(例如:填充:红色和笔划:蓝色):


谢谢为什么在我阅读的教程中没有提到这一点?我学到了很多关于字体和其他的东西,但是…不知道。这是在Swing中要做的一件非常基本的事情。这是一个奇怪的教程,似乎什么都不包含:D这里是1.4的javadoc for Graphics2D,这是一个比你刚才看到的要好得多的教程:D这不是一个教程。它只是一个指向Javadocs for Graphics的链接,其中包含
drawString()
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);