带有背景图像的JFrame中的透明JButton

时间:2011-04-15 17:35:32

标签: swing transparency jframe background-image jbutton

我正在制作一个扩展JFrame并在其上设置自定义背景图像的类。

我有两个问题..

1)我希望我的背景图像保持固定大小,最大化时覆盖整个屏幕。我怎么能这样做?

2)我想在框架上添加透明按钮和面板,不会影响我的背景。有没有简单的方法呢?

帮助将不胜感激...谢谢

1 个答案:

答案 0 :(得分:1)

将图片加载到BufferedImage

添加ComponentListener以确定帧的大小调整。使用帧大小来计算缩放比例并调用BufferedImage.getScaledImage(xScale, yScale)以获得缩放图像。

在你的课堂上,你应该覆盖paintBackground()进行绘画。只需调用g.drawImage(scaledImage,getWidth(),getHeight(),this)来绘制图像。

您添加到框架中的任何组件都需要调用setOpaque(false),以便在背后绘制背景。