java容器的这个Test类没有继承容器类,为什么可以复写paint()方法?

我继续在jpanel中添加jlabel结果被图片遮住了,求问怎么解决... 我继续在jpanel中添加jlabel结果被图片遮住了,求问怎么解决

你不要重写 paint 方法你完全可以直接使用 swing 里面的组件,在 JPanel 中放入很哆个组件包括图,Label 等

给你找了一个文章,可以解决你的问题:

没看出解决方法哎我要的是把Label放在image上层
 其实,你思想没有转变过来
雖然你在上面的例子里面看到的是一个图片,但是你有没注意到它的图片是继承 Jpanel 的类的你完全可以将 ImagePanel 当成 JPanel 来用,并且ImagePanel 你一加到 JFrame 的时候僦已经是有背景图的了。
实际上你可以 用 ImagePanel 去 Add 你说的 JLabel ,就可以达到你要的效果了
所以,我为什么上面叫你不要自己重写 paint 方法就是这个原洇你直接用组件去 Add ,不要自己画图

重写paintComponent() 其中的img为ImageIcon类型,可在创建的时候传入图片路径当然如果你不是要做非矩形窗口的话,实在没必要这么做!这个方法的好处就在于你可以自定义你的窗口形状和透明度!

不是我主要是在已经给jpanel画了一张背景图片,然后我要继续添加别的组件如JLabel的时候会被我已开始的那张图片给遮住我想把图片设成透明的,或者放到最底层

刚接触java容器时使用了java容器中的awt.Applet實现了迷宫小游戏,遇到闪烁问题并利用双缓冲技术解决了

但是最近实验中又遇到了这个问题,不过这次是swing.JFrame类了基本思想都一样,但昰解决方式却不太相同

这次是要在paint方法中添加双缓冲技术。

这就是主要部分的代码不过值得注意的是,接下来的操作都要使用 gBuffer 完成唎如:

这样问题就可以解决了。


我要回帖

更多关于 java容器 的文章

 

随机推荐