0

我需要在文本框中输入一个单词/句子,然后打印出我输入的内容,但是当我有一个特殊字符时,它会打印出我的 fillPolygon 形状。我使用了一个数组来尝试使用 If 语句将字符替换为多边形,但是我不断收到错误消息:

[line: 49]  Error: method drawH in class Stringpoly cannot be applied to given types;  required: java.awt.Graphics,int,int  found:
java.awt.Graphics,int[],int[]  reason: actual argument int[] cannot be
converted to int by method invocation conversion
4

1 回答 1

3

您需要int在方法中包含数组参数drawH以匹配传入的值。替换

public void drawH(Graphics g, int xpoints, int ypoints)

public void drawH(Graphics g, int[] xpoints, int[] ypoints)

另一个错误是:

的参数drawString与该方法的任何可用版本都不匹配:

g.drawString(pr_charArray[i]);

查看此方法的文档。你需要类似的东西

g.drawString(new String(pr_charArray), xpos, ypos);

另一个问题是您没有实例化或添加pr_text TextFieldin init。你可以这样做:

pr_text = new TextField(20);
add(pr_text);

一些旁注:

  • Java 使用骆驼案例,这将使pr_text prText
  • AWT非常老。考虑使用轻量级Swing 图形库

有一些布局问题需要解决 - 我将把它作为练习 :)

于 2013-02-27T14:11:15.967 回答