我试图为JPanel设置背景图像但是当我这样做时,它覆盖了我在JPanel上的按钮。我怎样才能使按钮保持在背景的顶部并且不被它覆盖?
答案 0 :(得分:0)
绘制背景,然后将组件添加到面板中。
class SomePanel extends JPanel {
private BufferedImage image;
public SomePanel() {
try {
image = ImageIO.read(getClass().getResource("/resources/image.png"));
} catch (IOException ex) {}
add(new JButton("Hello"));
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(image, 0, 0, getWidth(), getHeight(), this);
}
@Override
public Dimension getPreferredSize() {
return new Dimension(500, 500);
}
}
或者只使用带有图标的标签,为标签设置布局管理器,并将所有组件添加到标签中。