JPanel布局问题

时间:2016-04-10 14:53:34

标签: java swing layout jframe jpanel

我的GUI看起来像这样:

enter image description here

my gui

应该是这样的:

enter image description here solution 这是我的布局代码:

public void initComponents(){

    setTitle("GUI-Design");
    setSize(800, 600);

    setLayout(new BorderLayout());
    top = new JPanel();
    mid = new JPanel();
    bottom = new JPanel();
    add(top, BorderLayout.NORTH);
    add(mid, BorderLayout.CENTER);
    add(bottom, BorderLayout.SOUTH);


    //TOP Start
    top.setLayout(new BorderLayout());
    JLabel label = new JLabel("Informatik/Technik", JLabel.CENTER);
    ImageIcon img = new ImageIcon(this.getClass().getResource("/images/Logo.jpg"));
    JLabel image = new JLabel("",img, JLabel.CENTER);
    top.setBackground(Color.WHITE);
    top.add(label, BorderLayout.WEST);
    top.add(image, BorderLayout.EAST);
    //TOP END
    //MID Start
    mid.setLayout(new GridBagLayout());
    GridBagConstraints c = new GridBagConstraints();
    c.fill = GridBagConstraints.HORIZONTAL;
......

}

如何在中心和底部消除巨大的差距?

1 个答案:

答案 0 :(得分:0)

我建议您使用Eclipse的WindowBuilder插件来开发窗口或组件(如果您使用的是另一个IDE,它必须有自己的插件)。

我认为你必须设置GridBagLayout单元格的“grow”属性。可能是单元格已激活此属性,因此默认情况下它们会像窗口大小一样增长。

我希望它有所帮助。祝你好运:)