gpt4 book ai didi

java - 带背景图像的嵌套面板?

转载 作者:行者123 更新时间:2023-11-30 07:44:00 25 4
gpt4 key购买 nike

我有两个面板定义如下:

public class JPanel_with_BG extends JPanel
{
private Image bg_image;

public JPanel_with_BG(Image bg_image)
{
this.bg_image = bg_image;
}

public void paintComponent(Graphics g)
{
super.paintComponent(g);

if (bg_image != null)
{
g.drawImage(bg_image, 0, 0, this);
}
}
}

并且,

public class MPanel extends JPanel
{
public void paint(Graphics g)
{
super.paint(g);
// draw something...
}
}

然后,我想在 bg_pnl 上添加第二个面板。顶部面板较小,如 bg_pnl.size = pnl + 2*padding。

MPanel pnl = new MPanel();
JPanel bg_pnl = new JPanel_with_BG(image);
int pad = 50;
bg_pnl.setBorder(new EmptyBorder(pad, pad, pad, pad));
bg_pnl.add(pnl);

问题是我在顶部面板上绘制的内容不可见。我能看到的只是背景图像。有任何想法吗?谢谢。

最佳答案

你的代码看起来没问题。我最后尝试了这个,我可以看到 UI 上有一小块区域显示 MPanel。您需要验证显示此组件的面板的大小。

由于窗口尺寸的原因,该区域可能不可见。另外,面板的默认布局是流布局,它根据添加到其上的组件的大小来排列它们,如果它们真的很小,它可能不可见

关于java - 带背景图像的嵌套面板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34198006/

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