我正在尝试为我的程序创建一个菜单,它使用 .getGraphics().drawImage(..) 在 JPanel 上绘制一些几何对象
我遇到的问题是,在我选择此菜单上的项目后,文本消失,但背景颜色没有消失。该选择调用了一种使用上述命令在该面板上重新绘制图像的方法,但显然它对删除它没有帮助。
单击此菜单项后,该灰色框将留在菜单后面,我可以通过使用鼠标移动场景来使其消失,这基本上调用了单击菜单项后使用的相同方法。这让我很困惑为什么菜单项方法调用不会删除该框,但下次调用此方法会删除该框。
知道为什么会发生这种情况和/或如何解决它吗?
谢谢。
最佳答案
which draws some geometric objects on a JPanel using .getGraphics().drawImage(..)
不要使用getGraphics()
进行自定义绘画。
自定义绘制是通过重写 JPanel
的 paintComponent(...)
方法来完成的。并且不要忘记调用 super.paintComponent(...) 作为第一个语句。
阅读 Swing 教程中关于 Custom Painting 的部分了解更多信息和工作示例。
关于java - JMenu 在绘制图像的 JPanel 上方留下一个灰色框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42788461/