当前位置: 首页 > 知识库问答 >
问题:

无法向我的JFrame类添加扩展JPanel的对象

梁丘权
2023-03-14

我正在做一个游戏,我试图在JFrame中添加一个JPanel。我有一个单独的类来扩展JPanel,我创建了一个新的对象来扩展JPanel。

但是,我得到了这个错误:“类型容器中的方法add(Component)不适用于参数(mainMenu)”(mainMenu是扩展JPanel的类)。

public static void run(String[] args)
{
     new gardenRunner()
}

public void gardenRunner()
{
     mainMenu m = new mainMenu();
     add(m);       <-- gives error
}

(JPanel类)公共类mainMenu扩展JPanel{

public mainMenu()
{
     super();
     setSize(60, 60);
}

我希望这样可以向我的JFrame添加一个JPanel,但这会导致一个错误。

共有1个答案

祁渊
2023-03-14

感谢您的帮助,原来Eclipse表现出了一点错误,当我删除JPanel类并创建一个新的类时,这种错误起到了作用。再次感谢。

 类似资料:
  • 问题内容: 我创建了一个程序,可以在屏幕上移动一个球。我以前把所有内容都放在一个类中,但认为它看起来太乱了,所以我将其分为三个不同的类:Main …初始化所有内容,Game …绘制所有内容并为一个JPanel,AL则为一个KeyListener(这也是问题所在)。问题是,无论我尝试将其传递给我的类,我都无法从AL类获得重绘程序。有人能帮忙吗?这是我的三个班级: -- -- 问题答案: 让我们从显而

  • 问题内容: 我正在寻找与C#扩展方法功能等效的Java。现在,我一直在阅读有关Java 8的默认方法的信息,但据我所知,我只能将它们添加到接口中。 …是否有任何语言功能可让我为未实现接口的最终类​​编写扩展方法?(我宁愿不必包装它…) 问题答案: 对于以扩展类型作为第一个参数的静态方法,C#扩展方法只是语法糖。Java默认方法完全不同。要模仿C#扩展方法,只需编写常用的静态方法。但是,您将不会食用

  • 我创建了一个程序,只需在屏幕上移动一个球。我以前把它都放在一节课上,但我觉得它看起来太乱了,所以我把它分成了三个不同的课:主课。。。初始化一切,游戏。。。它描绘一切,是一个JPanel,AL是一个KeyListener(这也是问题所在)。问题是,我无法让程序从我的AL类重新绘制,无论我试图传递什么。有人能帮忙吗?以下是我的三门课: - -

  • 我正在尝试将此 JPanel 添加到 JFrame 中,但我看不到他。当我创建新的 java 类并自己制作这个框架时,一切都很好。 来自JFrame表单的代码。 来自 JPanel 的代码: 来自Java类的代码。 我想不出区别在哪里。有人能帮我吗?

  • 更新:正如Dmich所指出的,因为我在面板类之外绘制,这导致了对我的面板和动画类初始化的递归调用。所以我怎么还能在动画课上完成在我的面板上的绘图,但没有这个问题。 我的代码有一个非常具体的问题,我不知道如何描述正在发生的事情,但我会尽力。我尝试搜索stackOverFLow,但问题是我甚至不知道搜索什么。 我来了: 为了尽可能好地组织这篇文章,我将首先写下我正在处理的所有课程。 所以我有一个名为M

  • 我希望来自两个不同类的两个图像并排扩展JPanel。 我遇到的问题是两个JPanel应该在JFrame内部,但是当我做framename.add(panel)时,它会替换另一个,而不是并排添加其中两个。 我尝试在主类中添加flowlayout和其他布局,但是没有一个图像显示出来。 所以我的问题是,如果我有两个扩展Jpanel的类,我如何在Jframe中添加这两个面板,以便它们并排(彼此相邻)而不替