我正在制作一个扩展JFrame并在其上设置自定义背景图像的类。
我有两个问题..
1)我希望我的背景图像保持固定大小,最大化时覆盖整个屏幕。我怎么能这样做?
2)我想在框架上添加透明按钮和面板,不会影响我的背景。有没有简单的方法呢?
帮助将不胜感激...谢谢
答案 0 :(得分:1)
将图片加载到BufferedImage
。
添加ComponentListener
以确定帧的大小调整。使用帧大小来计算缩放比例并调用BufferedImage.getScaledImage(xScale, yScale)
以获得缩放图像。
在你的课堂上,你应该覆盖paintBackground()
进行绘画。只需调用g.drawImage(scaledImage,getWidth(),getHeight(),this)来绘制图像。
您添加到框架中的任何组件都需要调用setOpaque(false)
,以便在背后绘制背景。