gpt4 book ai didi

java - JFrame 中的背景图像覆盖了我的按钮

转载 作者:行者123 更新时间:2023-12-01 07:56:37 25 4
gpt4 key购买 nike

我在java中制作了一个JFrame并使用Jlabel导入了背景图像,但现在我的按钮不可见也不可用,如何将图像移动到按钮“后面”或使背景透明。

最佳答案

如果没有代码,就不可能说出问题所在,但很可能您在按钮之后添加了 JLabel,并且 JFrame 的 contentPane 的 BorderLayout 导致一个组件(JLabel)覆盖了另一个组件(JButton)。一个可能的解决方案:

  • 在 JPanel 的 PaintComopnent 方法中绘制图像。
  • 将您的按钮添加到此 JPanel
  • 将此 JPanel 添加到 JFrame(其 contentPane)。
<小时/>

例如,

public class MyPanel extends JPanel {
private BufferedImage img;

public MyPanel(BufferedImage img) {
this.img = img;
}

@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
if (img != null) {
g.drawImage(img, 0, 0, null);
}
}

@Override
public Dimension getPreferredSize() {
if (img != null) {
int w = img.getWidth();
int h = img.getHeight();
return new Dimension(w, h);
} else {
return super.getPreferredSize();
}
}
}

注意:代码未经测试。

关于java - JFrame 中的背景图像覆盖了我的按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29309518/

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