gpt4 book ai didi

java - 如何向 JPanel 添加背景,然后在该 JPanel 上添加 JButton

转载 作者:行者123 更新时间:2023-12-01 18:03:38 26 4
gpt4 key购买 nike

//Calling function
ImagePanel Panel_2 = new ImagePanel(new ImageIcon("C:/Users/kagarwal/Downloads/intacct_logo_standard_web.png").getImage());
Panel_2.add(new JButton());
Panel_2.revalidate();


//Called function
public class ImagePanel extends JPanel {

private Image img;

public ImagePanel(String img) {
this(new ImageIcon(img).getImage());
}

public ImagePanel(Image img) {
this.img = img;
Dimension size = new Dimension(img.getWidth(null), img.getHeight(null));
setPreferredSize(size);
setMinimumSize(size);
setMaximumSize(size);
setSize(size);
setLayout(null);
}

public void paintComponent(Graphics g) {
g.drawImage(img, 0, 0, null);
}
}

要求是:JPanel2 需要有一个背景图像,并且在此之上我们需要添加 JButton。但是,这里的问题是新添加的 JButton 不会出现在给定的 JPanel 中,它只显示背景图像。我缺少刷新吗?

最佳答案

问题出在paintComponent中,您只要求图形对象绘制图像。但是您应该通过调用 super.paintComponent() 传递图形对象来调用父类(super class) PaintComponent 方法,以便正确显示面板的所有组件。

关于java - 如何向 JPanel 添加背景,然后在该 JPanel 上添加 JButton,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38634500/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com