我有一个家庭作业,我们被要求为一个小图形程序编写辅助方法。我遇到的问题是它一直说我有错误。
无法找到符号 - 方法drawPolygon(gp,int,int)。
我错过了什么?
PS。我知道GraphicsPanel代码不在这里,但更想知道为什么我会得到“找不到符号”错误。当我写只是 drawPolygon(gp,50,4)时,它会编译而没有任何错误,但它也不会在面板中绘制任何东西。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class G5 {
public static void drawPolygon(GraphicsPanel gp, int sideCount, int sideLength) {
for (int i = 0; i < 4; i++) {
gp.draw(sideLength);
gp.turn(360 / sideCount);
}
}
public static void main(String[] args) {
GraphicsPanel gp = new GraphicsPanel();
gp.setBackgroundColor(Color.BLACK);
gp.delay(1000);
int x = gp.getWidth() / 2;
int y = gp.getHeight() / 2;
gp.setLocation(x, y);
gp.setColor(Color.RED);
gp.drawPolygon(gp, 50, 4);
gp.clear();
}
}
答案 0 :(得分:0)
该方法是G5类的静态方法。它不是GraphicsPanel的实例方法。所以你必须使用
来调用它G5.drawPolygon(gp, 50, 4);
而不是
gp.drawPolygon(gp, 50, 4);
为了能够像你一样调用它,必须在GraphicsPanel类(或其任何超类)中定义该方法,而不使用static关键字。
阅读this section of the Java tutorial以了解实例和静态方法之间的区别。
答案 1 :(得分:0)
gp.drawPolygon(gp, 50, 4);
您正在寻找GraphicsPanel
实例中的方法,而不是您班级中的方法。由于它是静态方法,请使用
G5.drawPolygon(gp, 50, 4);
代替