tags:

views:

45

answers:

1

Is there any way to add 0 margin/padding to a JPanel so it fits the WHOLE screen it's suppose?

Here is what I am talking about: (see the little space above the panel? why doesn't it cover that as well?) see the space above?

Here is the way it's setup:

        labelStatus = new JLabel("\n\nSorry, the server crashed!");

        labelStatus.setForeground(Color.WHITE.brighter());
        statusPanel = new JPanel();
        statusPanel.setBackground(Color.RED.darker());
        statusPanel.add(labelStatus);
        statusPanel.setPreferredSize(new Dimension(513,352));

and this is how it gets iniated:

} catch (Exception rwe) {
                  // System.exit(0);
                  game.add(statusPanel);
                  game.remove(yPanel);
                  game.remove(xPanel);
                  game.remove(roomPanel);
                  game.remove(userPanel);
                  game.remove(titlePanel);
                  game.remove(introPanel);
            statusPanel.setOpaque(true);
            labelStatus.setVisible(true);
                  System.out.println("Server went down -- crap!");
                  c.append("\nServer crashed!");
                  rwe.printStackTrace();
            }

So.. how do I fix that small gap?

+1  A: 

By default, all containers use the layout manager FlowLayout. FlowLayout specifies an hgap and a vgap to separate components. Try this:

((FlowLayout)game.getLayout()).setVgap(0);

It's strange, though, that there's no horizontal gap on the left.

Erick Robertson
Interestingly, the default layout for the top-level `Container` `Window` is `BorderLayout`, which also sports such gaps, albeit with different defaults.
trashgod