我正在尝试使用标准的 java 实用程序将图像覆盖在背景图像之上。请看下面的图片...
我有似乎创建背景图像的代码(您能验证它是否真的有效吗?)并且我创建了用于显示图像的 JPanel 扩展(该类称为 ImagePanel)
但是,当程序启动时,JFrame 只显示第二个图像,然后随着窗口大小的调整而移动。
我希望最初打开窗口,背景图像占据整个窗口空间。然后,我希望在我指定的位置显示第二张图像。
import javax.swing.*;
import java.awt.*;
public class ImageTest {
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.getContentPane().setLayout(null);
JPanel backgroundPanel = new JPanel();
ImageIcon backgroundImage = new ImageIcon("C:\\Documents and Settings\\Robert\\Desktop\\ClientServer\\Poker Table Art\\TableAndChairs.png");
JLabel background = new JLabel(backgroundImage);
background.setBounds(0, 0, backgroundImage.getIconWidth(), backgroundImage.getIconHeight());
frame.getLayeredPane().add(background, new Integer(Integer.MIN_VALUE));
backgroundPanel.setOpaque(false);
frame.setContentPane(backgroundPanel);
ImagePanel button = new ImagePanel("C:\\Documents and Settings\\Robert\\Desktop\\ClientServer\\Poker Table Art\\button.png");
JPanel cardContainer = new JPanel(new FlowLayout());
frame.getContentPane().add(cardContainer);
cardContainer.add(button);
cardContainer.setBounds(100, 600, 200, 200);
frame.pack();
frame.setVisible(true);
}
}