我一直在环顾四周并致力于制作一个JPanel
能够拥有图像背景的东西。我知道有大量信息对此进行了说明(示例 1和示例 2)。这些都不是我正在寻找的。
我正在寻找的是一种仅添加功能或设置背景图像的功能,JPanel
同时保留其他所有内容的方法。我现在遇到的问题是我有一些扩展的类,JPanel
当我更改它们以扩展我的新ImagePanel
类时,构造函数失败(显然,参数不同)。我有其中一个文件的构造super( new BorderLayout() );
函数,到目前为止,我可以让它发挥作用的唯一方法是放弃布局或背景图像。我不能让两者一起工作。
这是最新的绝望尝试:
import java.awt.*;
import javax.swing.JPanel;
class ImagePanel extends JPanel {
private Image img;
public ImagePanel(Image img, LayoutManager layout) {
this.img = img;
Dimension size = new Dimension(img.getWidth(null), img.getHeight(null));
setPreferredSize(size);
setMinimumSize(size);
setMaximumSize(size);
setSize(size);
setLayout(null);
super.setLayout(layout);
}
public void paintComponent(Graphics g) {
g.drawImage(img, 0, 0, null);
}
}
如果有人可以帮助我,或者指出我正在寻找的东西,那就太好了。我不需要任何超级疯狂的功能,比如背景缩放或类似的东西。我只想让图像成为背景,并让它以所有其他方式保持其功能。
谢谢。