【发布时间】:2017-02-16 15:50:58
【问题描述】:
我一直在无结果地搜索互联网,人们的建议似乎对我没有任何影响。
我有一个 JFrame,我正在尝试将 JPanel 放入其中。理想情况下,该 JPanel 将有一个带有 imageicon 作为背景的 JLabel,并在其自己的 Jpanel 中的前景中有一组按钮。问题是我见过的每种类型的布局管理器都不能像我宣传的那样工作。到目前为止,我所做的最好的工作就是这种方法:
public MenuBackgroundPanel(AsteroidsFrame frame)
{
this.gameFrame = frame;
this.setLayout(new OverlayLayout(this));
ImageIcon image = new ImageIcon(getClass().getResource("/resources/background1.gif"));
imageLabel = new JLabel(image, JLabel.CENTER);
mp = new MainMenuPanel(gameFrame);
mp.setMaximumSize(new Dimension(300,200));
this.add(mp);
this.add(imageLabel);
this.setVisible(true);
}
不幸的是,我得到了非常奇怪的对齐方式并试图在背景上设置位置(实际上让它从 JFrame 的 (0,0) 开始或移动按钮面板似乎没有任何效果。打印位置每个对象的表示它们都在(0,0),但我将链接的图像显示情况并非如此。我的意思是,我尝试过 JLayeredPane 之类的东西或将 JLabel 设置为 Jframe 的内容窗格并使其透明,但似乎没有任何作用。两个对象中的一个或另一个完全覆盖另一个。
如您所见,这些对象根本没有对齐。 谁能帮我解决这个问题?
【问题讨论】: