我怎么能摆脱那个灰盒子?

这就是我所说的:

如果你能帮帮我,我真的很感激

完整代码: http//pastebin.com/nrpCTjvV

public final void initUI() {

    JPanel panel = new JPanel();
    panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));

    panel.setBorder(new EmptyBorder(new Insets(90, 155, 40, 60)));

    JButton NewGame = new JButton  ("New Game!");
    JButton Highscore = new JButton("Highscore");
    JButton Credits = new JButton  ("Credits");
    JButton Website = new JButton  ("Website");
    JButton Exit = new JButton     ("Exit");

    panel.add(NewGame);
    panel.add(Box.createRigidArea(new Dimension(0, 5)));
    panel.add(Highscore);
    panel.add(Box.createRigidArea(new Dimension(0, 5)));
    panel.add(Credits);
    panel.add(Box.createRigidArea(new Dimension(0, 5)));
    panel.add(Website);
    panel.add(Box.createRigidArea(new Dimension(0, 5)));
    panel.add(Exit);

    final ButtonGroup entreeGroup = new ButtonGroup();
    JRadioButton radioButton;
    panel.add(radioButton = new JRadioButton("Music1"));
    radioButton.setActionCommand("Music1");
    entreeGroup.add(radioButton);
    panel.add(radioButton = new JRadioButton("Music2"));
    radioButton.setActionCommand("Music2");
    entreeGroup.add(radioButton);
    panel.add(radioButton = new JRadioButton("No Music", true));
    radioButton.setActionCommand("No Music");
    entreeGroup.add(radioButton);

    add(panel);
    pack();

    setTitle("Title");
    JLabel background = new JLabel(new ImageIcon("background.png"));
add(background);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setLocationRelativeTo(null);
    setResizable(false);
    setSize(400, 400);

}

===============>>#1 票数:3

add(panel);
pack();
setTitle("Title");
JLabel background = new JLabel(new ImageIcon("background.png"));
add(background);

JFrame的默认布局管理器是BorderLayout。 在未指定约束的情况下添加组件时,组件将添加到CENTER。 您无法将多个组件添加到单个位置。

相反,您需要使用不同的组件作为背景。 然后将面板添加到此组件。 查看背景面板 然后代码将是这样的:

Background background = new BackgroundPanel(...);
background.add(panel);
add(background);
setResizable(false);
pack();
...

  ask by user2287319 translate from so

未解决问题?本站智能推荐:

1回复

如何在JPanel中居中对齐背景图像

我想将背景图片添加到我的JFrame 。 背景图像意味着我以后可以在JFrame或JPanel上添加组件 虽然我找不到如何将背景图像添加到JFrame , 我从这里找到了如何将背景图像添加到JPanel : 如何在Java中设置背景图像? 这解决了我的问题,但是现在因为我的
1回复

具有背景图片和JPanel的JFrame

我有以下几点: 我只想要一个带有BackgroundImage的MainMenu和诸如Singleplayer等按钮。我是否必须设置一个Layout或没有它的可能? 我刚刚开始使用GUI,您可以从代码中假设。 提前致谢...
1回复

我需要为Java DesktopApplication设置背景图像

我不知道如何,也没有背景图片属性。 我研究了答案,但我能找到的只是在具有空布局的面板内设置标签图标。 这行得通,我的图像在那里,但是它覆盖了除单个文本字段之外的所有内容。 我可以更改此标签的Z值吗? 如果有的话,我看不到“后退”选项。
1回复

将JPanel的背景图像设置为TILED时,应用程序失败

我在我的JPanels上使用背景面板类作为背景图像。 到目前为止,我已经成功实现了Gradients,SCALED图像和ACTUAL图像,但是如果我将背景样式设置为TILED,则Desktop Application失败/崩溃,它将打开,但窗口为空(透视),我必须停止该应用程序关闭它。 我的
2回复

JPanel上的永久背景图像

我正在构建一个Swing界面,用于在特定图像上绘制叠加层。 我已经找到 了几个有关如何在JPanel上绘制图像的示例 ,并且能够轻松完成此操作。 但是,我想在动态绘制覆盖图的顶部时使其完全静止。 考虑到这一点,最好将图像设置为面板的永久背景,而不是每次都使用paintComponent()
1回复

嵌套JPanel中的背景图像?

我有一个包含2个其他JPanel的JPanel。 我位于左侧(leftBox)和右侧(rB),我想在右侧JPanel(rB)上添加背景图像。 但是我得到的结果是 http://i.imgur.com/tHz1x.jpg 我想要的结果 http://i.imgu
1回复

无法将面板(如此背景)添加到我的JFrame

我有一个JPanel,我用它作为背景,名称是BackgroundPanel。 我正在使用NetBeans设计我的主JFrame,并添加像这样的BackgroundPanel。 但我的BackgroundPanel是不可见的,即我的框架没有背景图像,而是纯灰色(默认情况下)。 我希
1回复

JFrame背景图像设置背景图像时,其他按钮没有出现在框架上吗? [重复]

这个问题已经在这里有了答案: 在JFrame中设置背景图片 4个答案 我想在框架中添加背景图像,但是当我将图像添加到框架中时,它已成功添加,但是在框架后缀上添加的j标签和按钮等其他内容未显示在框架上。 我将图像保留在桌面上。 下面是我的代码
3回复

背景图像JFrame与内容

我有一个带有BorderLayout的JFrame ,四面都有面板(北,东,......)。 在面板中主要有标签和按钮。 现在我希望框架有一个背景图像,一些研究告诉我,我必须更改框架的内容窗格。 但是,当我尝试这样做时,内容将被放入后台并且不可见。 另外,如果调整帧大小,我不知道
1回复

如何在Java Swing中为JPanel添加背景图像[重复]

这个问题已经在这里有了答案 : 如何在Java的Swing GUI中将图像设置为框架的背景? (8个答案) 5年前关闭。 我有