无法通过Circle类解决我的问题

时间:2012-04-09 18:26:28

标签: java swing geometry

两个星期前,我在圆圈课上遇到了麻烦,我又提出了一个问题。我无法确切地指出要在这里展示给你们的直接代码,但无论我使用Circle类做什么,或者类似于它的任何东西,我都无法获得编译代码。

我已经尝试直接从我的教科书中复制,以查看我的老师和书中提供的代码是否有效,并且每当我尝试创建圆形或矩形时,我仍然会得到“无法找到符号”。这是我书中的一些代码,例如

import javax.swing.JApplet;
import java.awt.Color;
import java.awt.Graphics;

public class Week8_ExtraCredit extends JApplet
{
    private int centerX = 200, centerY = 150;
    private Color toggleColor = Color.BLACK;
    private Circle circle;

    public void paint( Graphics g )
    {
        super.paint( g );

        for ( int diameter = 200; diameter >= 20; diameter -= 20 )
        {
            circle = new Circle( centerX - diameter / 2,
                                 centerY - diameter / 2,
                                 diameter, toggleColor );

            circle.draw( g );

            if ( toggleColor.equals( Color.BLACK ))
                toggleColor = Color.RED;
            else
                toggleColor = Color.BLACK;
        }
    }
}  

这段代码是直接从我的书中提取的,这本书应该创建一个带有黑色和红色环的圈子。但运行它,我收到此错误

C:\Users\yardeen\Documents\JCreator LE\MyProjects\Week8_ExtraCredit\src\Week8_ExtraCredit.java:17: error: cannot find symbol
    private Circle circle;
            ^
  symbol:   class Circle
  location: class Week8_ExtraCredit

这是为调用类Circle的每个实例提供的。如果我能得到任何帮助,为什么我会遇到这个问题,那就太棒了!到目前为止,这是唯一让我学习Java的东西。 :\

1 个答案:

答案 0 :(得分:2)

假设您没有创建Circle类作为您的代码并且上面的注释显示,这是一个替代解决方案(除非您需要创建自己的Circle类):

确保您拥有这些导入:

import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;

然后创建一个Ellipse:

Shape circle = new Ellipse2D.Double(x, y, width, height);

此行将替换您的“circle = new Circle”行。确保x,y,width和height是双倍的,如果您想了解更多信息,请查看this