【问题标题】:How would I draw an array of string letters to a canvas on Java?如何在 Java 上的画布上绘制字符串字母数组?
【发布时间】:2015-11-11 00:53:22
【问题描述】:

我有一个字母数组

public String[] letters = {"A","J","K","Q"};

以及我尝试创建的一种绘制字母的方法。

public void drawLetterValue(Graphics pane, String[] someValue, int someX, int someY){

    someValue = letters;
    String aValue = String.valueOf(someValue);
    pane.drawString(aValue, someX, someY);
}

该数组与方法一起在名为 Card 的类(也称为“pileOne”)中声明,但是我试图在另一个名为 Game 的类中调用该方法(我正在尝试制作一副纸牌程序)。当我尝试绘制方法时,(例如):

pileOne.drawLetterValue(pane, pileOne.letters[0], 155, 90);

我得到错误:

“Card类型中的方法drawLetterValue(Graphics, String[], int, int)不适用于参数(Graphics, String, int, int)”

我很困惑,因为我将字母称为数组,但我得到的错误告诉我我只是将它称为字符串。 任何帮助表示赞赏,谢谢!

【问题讨论】:

  • String[]String 不一样,不妨试试pileOne.drawLetterValue(pane, pileOne.letters, 155, 90);

标签: java arrays text draw java-canvas


【解决方案1】:

你使用方法的方式

pileOne.drawLetterValue(pane, pileOne.letters[0], 155, 90);

使用数组的元素 0 作为第二个参数,所以只是一个字符串,而不是字符串数组。要传递数组,请执行以下操作:

pileOne.drawLetterValue(pane, pileOne.letters, 155, 90);

[X] 表示“数组的第 X 个元素”:-)

【讨论】:

    猜你喜欢
    • 2012-12-17
    • 2011-05-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-24
    • 2020-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多