Java 错误:";类型容器中的add(Component)方法不适用于参数(Square)

Java 错误:";类型容器中的add(Component)方法不适用于参数(Square),java,swing,Java,Swing,我有上面提到的问题——我想知道是否有专家可以帮忙 组件是我从java.awtapi导入的一个项 我不知道Eclipse从哪里派生出“容器” 在我搜索的Qs中,在“arguments”之后显示(Square)的地方,它在其他人的Qs中有一个数据类型——在我的Qs中,它是一个与下面的Qs在同一个包中的类,其中错误出现在第19行“choras.add(trial);”,因此我假设该类被检测为一个类型 代码: 错误是很明显的,期望a作为一个参数,并且您正在向它传递一个平方,因此出现了错误 这个问题的答案

我有上面提到的问题——我想知道是否有专家可以帮忙

  • 组件是我从java.awtapi导入的一个项

  • 我不知道Eclipse从哪里派生出“容器”

  • 在我搜索的Qs中,在“arguments”之后显示(Square)的地方,它在其他人的Qs中有一个数据类型——在我的Qs中,它是一个与下面的Qs在同一个包中的类,其中错误出现在第19行“choras.add(trial);”,因此我假设该类被检测为一个类型

  • 代码:


    错误是很明显的,期望a作为一个参数,并且您正在向它传递一个平方,因此出现了错误

    这个问题的答案是不能将形状添加到JFrame中。(您可以阅读有关容器的信息)

    如果您希望在Swing中使用自定义形状,可能会对您有所帮助

    类型容器中的add(Component)方法不适用于参数(Square)

    因此,
    JFrame
    是一种
    容器

    需要从扩展的对象


    据推测,
    Square
    不会从(直接或间接)继承自
    java.awt.Component
    的任何类扩展,但鉴于您没有向我们提供该类,我们只能猜测…

    在您的
    Square
    类中,请确保您正在扩展/实现某些内容:

    public class Square extends JPanel
    

    我在这里包括Dquare类:package square;导入javax.swing.JComponent;公共类Square{private double sideLength;private double area;public Square(int initialLength){sideLength=initialLength;area=sideLength*sideLength;}public double getArea(){return area;}public void grow(){sideLength=2*sideLength;}现在很明显,我正在尝试执行一个计算文件而不是一个图形文件-非常感谢你指出了这个简单的“错误”(实际上是心不在焉-建议:避免年龄超过30岁!!)
    public class Square{
    Try
    public class Square扩展了JPanel{
    public class Square extends JPanel