有没有办法为JPanel添加0个边距/填充,以便它适合它所设想的整个屏幕?
以下是我所说的内容:(请参阅面板上方的小空间?为什么不覆盖它?)
以下是设置方式:
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));
这就是它的结果:
} 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();
}
那么..我该如何解决这个小差距?
答案 0 :(得分:6)
默认情况下,所有容器都使用布局管理器FlowLayout
。 FlowLayout指定用于分隔组件的hgap和vgap。试试这个:
((FlowLayout)game.getLayout()).setVgap(0);
但奇怪的是,左边没有水平间隙。