首页 > 解决方案 > 如何使用 graphics2D 显示 1 到 10 之间的随机数?

问题描述

我正在考虑如何创建它,我可以System.out.println在线程上制作它,效果很好,但是,我正在询问如何每秒显示随机数据,使用方法Graphics2D,有人可以帮忙吗?

这就是我所做的:

String[] numbers= {"1","2", "3", "4", "5", "6", "7", "8", "9", "10"};
int random = (int) (Math.random()*numbers.length);

//here's the part I struggle
public void paint (Graphics g) {
    g2.setColor(Color.black);
    g2.drawString("The number is below", 50, 70);

    //won't run
    g2.draw(numbers, 50, 90);
}

标签: javarandomgraphics2d

解决方案


方法drawinGraphics2D需要 aShape不是 a String。您应该使用该drawString方法。

在使用该drawString方法时,您需要将值转换为String. 您可以使用String.join(", "numbers). 但是,如果您想显示random值而不是可以String.valueOf(random)用来转换它的数字。

更改您的代码将是

g2.drawString(String.join(", ", numbers), 50, 90);

或者

g2.drawString(String.valueOf(random), 50, 90);

推荐阅读