两个南JPanels与按钮

时间:2013-12-13 11:29:24

标签: java swing jframe jpanel layout-manager

我想在框架的底部添加两个带有FlowLayout的JPanel。这是代码:

public Triangle(String title)
{
    super(title);
    a = getContentPane();
    a.setLayout(new BorderLayout());
    a.setForeground(new Color(100, 200, 100));
    p1.setLayout(new GridLayout(3,2));
    p2.setLayout(new FlowLayout());
    p4.setLayout(new FlowLayout());
    p1.add(l1);
    p1.add(stranaa);
    p1.add(l2);
    p1.add(stranab);
    p1.add(l3);
    p1.add(stranac);
    p2.add(per);
    p2.add(proverka);
    p4.add(clear);
    p4.add(exit);
    p3.add(l4);
    a.add(p3, BorderLayout.NORTH);
    a.add(p1, BorderLayout.CENTER);
    a.add(p2, BorderLayout.SOUTH);
    a.add(p4, BorderLayout.SOUTH);

但是没有任何事情发生,只有p4中的这个显示,p2中的这些隐藏在某处。帮助

4 个答案:

答案 0 :(得分:1)

创建其他面板(即southPanel),将p2和p4添加到其中,然后:a.add(southPanel, BorderLayout.SOUTH);

例如:

JPanel southPanel = new JPanel();
southPanel.setLayout(new BoxLayout());  // Use what is suitable for you
southPanel.add(p2);
southPanel.add(p4);
a.add(southPanel, BorderLayout.SOUTH);

答案 1 :(得分:0)

您应该添加一个南面板。如果添加多个南面板而不是最后一个面板将覆盖其他面板。如果你想展示两者而不是介绍新的

JPanel p2p4=new JPanel();
p2p4.add(p2);
p2p4.add(p4);

a.add(p2p4, BorderLayout.SOUTH);

答案 2 :(得分:0)

喜欢这个

JPanel south = new JPanel();
south.add(p2);
south.add(p4);
a.add(south, BorderLayout.SOUTH);

答案 3 :(得分:0)

使用嵌套组

JPanel p2p4 = new JPanel(new BorderLayout());
p2p4.add(p2, BorderLayout.NORTH);
p2p4.add(p4, BorderLayout.CENTER);

a.add(p2p4, BorderLayout.SOUTH);