Java 我的小程序显示它后面的部分屏幕

Java 我的小程序显示它后面的部分屏幕,java,applet,awt,java-2d,Java,Applet,Awt,Java 2d,因此,当我在小程序和其他对象之间选择alt tab时,可能是另一个窗口,也可能只是桌面,当我回到小程序时,小程序的外观是这样的: 这是我在谷歌网站上使用的嵌入小工具,我把小程序放在它上面。通常它只是我的小程序,但它显示了我最近使用alt-Tab远离的东西 它还可以在Eclipse的小程序查看器中执行此操作。不仅仅是这个小程序,还有我制作的每一个小程序(这就是为什么我认为它与这个小程序的代码无关) 这是与我编写paint()方法的方式有关的问题,还是其他问题?是否清除了图形?通常情况下,除非您明

因此,当我在小程序和其他对象之间选择alt tab时,可能是另一个窗口,也可能只是桌面,当我回到小程序时,小程序的外观是这样的:

这是我在谷歌网站上使用的嵌入小工具,我把小程序放在它上面。通常它只是我的小程序,但它显示了我最近使用alt-Tab远离的东西

它还可以在Eclipse的小程序查看器中执行此操作。不仅仅是这个小程序,还有我制作的每一个小程序(这就是为什么我认为它与这个小程序的代码无关)


这是与我编写paint()方法的方式有关的问题,还是其他问题?

是否清除了图形?通常情况下,除非您明确告知,否则屏幕不会清除正在打印的内容
clearRect(0,0,宽度,高度)
通常会这样做。您是否尝试将您自己的覆盖
FocusGain
focusLost
的控件添加到小程序中,以执行重新绘制?您是否调用
super.paint(g)
在你的
画法中?我没有做任何一个,尽管我肯定会尝试第一个,第二个看起来有点复杂,虽然我确实调用了super.paint(g),但它起了作用,当我替换标签时三角形消失了。@Reimeus提供的建议是我将进一步研究的。三角形消失的事实表明,您不知道每次调用paint方法时都需要绘制三角形(并且每当JRE确定需要绘制三角形时,都会重复调用)。