我需要在文本框中输入一个单词/句子,然后打印出我输入的内容,但是当我有一个特殊字符时,它会打印出我的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
答案 0 :(得分: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]);
查看此方法的docs。你需要像
这样的东西g.drawString(new String(pr_charArray), xpos, ypos);
另一个问题是您没有在pr_text
中实例化或添加TextField
init
。你可以这样做:
pr_text = new TextField(20);
add(pr_text);
一些备注:
pr_text
prText
AWT
非常古老。考虑使用轻量级Swing graphics library。 有一些布局问题需要解决 - 我将把它留作练习:)