gpt4 book ai didi

java - LayoutManager 不能很好地与背景图像内容 Pane 配合使用

转载 作者:太空宇宙 更新时间:2023-11-04 07:20:29 25 4
gpt4 key购买 nike

我在将组件定位在绘制图像作为背景的容器上时遇到了一些麻烦。为什么会这样呢?我希望这四个按钮在框架右侧的某个位置垂直对齐。无论我使用什么布局技术,按钮的位置似乎都没有改变。

"JFrame"

这是我的背景图像面板。其中有什么因素导致了组件的不可更改性吗?是不是还缺什么?

    static class bgImagePanel extends JPanel {
Image bgimage = null;

bgImagePanel(BorderLayout b) {
MediaTracker mt = new MediaTracker(this);
bgimage = Toolkit.getDefaultToolkit().getImage("bgimage1.jpg");
mt.addImage(bgimage, 0);
try {
mt.waitForAll();
} catch (InterruptedException e) {
}
}

@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
int imwidth = bgimage.getWidth(null);
int imheight = bgimage.getHeight(null);
g.drawImage(bgimage, 1, 1, imwidth, imheight, null);
}
}

最佳答案

问题似乎是您从未覆盖 bgImagePanel 中的默认布局管理器 (FlowLayout)。您应该在其构造函数中调用 super(b)setLayout(b):

public bgImagePanel(BorderLayout b) {
super(b);
MediaTracker mt = new MediaTracker(this);
bgimage = Toolkit.getDefaultToolkit().getImage("bgimage1.jpg");
mt.addImage(bgimage, 0);
try {
mt.waitForAll();
} catch (InterruptedException e) {}
}

关于java - LayoutManager 不能很好地与背景图像内容 Pane 配合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19407287/

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