gpt4 book ai didi

java - 使用 g.drawString 显示新行

转载 作者:行者123 更新时间:2023-11-29 08:57:07 25 4
gpt4 key购买 nike

我必须制作一个显示其自己的源代码的小程序。这是我的:

 //Reference the required Java libraries
import java.applet.Applet;
import java.awt.*;

//The applet code
public class FirstApplet extends Applet {

public void paint(Graphics g) {

//Draw a rectangle width=250, height=100
g.drawRect(0,0,250,600);

//Set the color to blue
g.setColor(Color.blue);

//Write the message to the web page
g.drawString("\n //Reference the required Java libraries\n import java.applet.Applet;\n import java.awt.*; \n //The applet code\n public class FirstApplet extends Applet {\n public void paint(Graphics g) {\n //Draw a rectangle width=250, height=100\n g.drawRect(0,0,250,100); \n //Set the color to blue\n g.setColor(Color.blue); \n //Write the message to the web page\n g.drawString",10,50);
}
}

但是,\n 并没有换行。我的文字水平继续,直到完成。我将如何在 g.drawString 字段中创建新行?

最佳答案

也许你可以尝试这样的事情(未经测试):

public static void draw(final Graphics g, final int startX, final int startY, final String... lines){
final FontMetrics metrics = g.getFontMetrics();
final int spacing = metrics.getHeight() + metrics.getMaxDescent();
draw(g, startX, startY, spacing, lines);
}

public static void draw(final Graphics g, final int startX, final int startY, final int vSpacing, final String... lines){
int y = startY;
for(final String line : lines){
g.drawString(line, startX, y);
y += vSpacing;
}
}

第一种方法将计算高度(基于 Graphics 对象的当前 Font 的高度和下降)。第二种方法允许您输入自定义垂直间距值以获得更多可定制性。

关于java - 使用 g.drawString 显示新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19661682/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com