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

JFrame中的JPanel派生类-绘制副本

狄旻
2023-03-14

我已经将我的JPanel派生类添加到JFrame中。现在,当我想画一个椭圆(在我的JPanel的paintComponent方法中使用fillOval)时,我看到正在绘制两个椭圆。当我调用super时,问题消失了。paintComponent,或者当我在JFrame类中调用setContentPane并将我的JPanel作为参数时。问题是,为什么会这样?当然,当JPanel和JFrame的左上角位于同一位置时,不会发生这种情况。但不知何故,除非我调用super.paintComponent,否则JPanel不是不透明的。主要问题是为什么它同时在默认内容窗格和我的JPanel上绘制。谢谢你的帮助。

共有1个答案

闻人仲渊
2023-03-14

“主要问题是为什么它在默认内容窗格和我的JGroup上都绘制。”

看起来是这样的,但实际上你看到两个都被画在了面板上。始终调用super。paintComponent方法中的paintComponent(如果是ands或buts,则为no),否则您将看到您正在经历的绘制瑕疵。可以出于多种原因调用paintComponent方法,每次调用它都是出现绘制瑕疵的另一个机会。调用super。paintComponent将其清除。当您将内容窗格设置为面板时,似乎不会多次调用paintComponent方法,因此您不会得到这些工件。但重申一下,请始终调用super.paintComponent。设置内容窗格与问题或解决方案无关。

 类似资料:
  • 问题内容: 我正在设计一个程序,该程序在JFrame中包含两个JPanel,一个用于保存图像,另一个用于保存GUI组件(Searchfields等)。我想知道如何将图像绘制到JFrame中的第一个JPanel? 这是我的构造函数的示例代码: } 我试图覆盖JPanel的paintComponent方法来绘制图像,但是当我尝试编写时,这在我的构造函数中导致了一个问题: 因为这将只允许我传递null的

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

  • 编辑:当我拖动边框时,某种刷新被发送,我需要弄清楚并手动发送相同的刷新。 请注意,我已经尝试使用revalidate()和repaint()。 当使用JFrame和JPanel来显示一个框架时,我试图使框架的大小易于改变。 null 此外,一个重要的注意事项是,当您拖动边框时,白条会消失,并正确地重新加载/刷新内容(即使您只是少量拖动)

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

  • 问题内容: 如何将图像绘制到JPanel或JFrame,我已经阅读了oracle的相关教程,但似乎无法正确完成。我需要将图像“ ”显示在一组特定的坐标上。这是我到目前为止所拥有的。 在Main()中 提前致谢! 问题答案: 试试这个:

  • 问题内容: 我正在寻找有关如何在JPanel中绘制文本的最基本描述。我知道那里有十亿个教程,但是没有一个在我身边点击,我有一些具体的问题可能会帮助其他困惑的人。作为设置(测试应用程序),我有一个类,其中包含JLabel,JTextField,JButton和JPanel。该应用程序从一个外部文件中读取整数,并且在按下JButton时应在面板中显示其平均值。我已经整理了所有基础编程(即按钮响应并将平