在Java swing中继承父/容器的宽度(面板的宽度)

时间:2013-12-27 10:30:47

标签: java swing inheritance jpanel width

我使用BoxLayout在Java中创建了JPanel(代码中的panelParent)。 我创建了另一个名为" panelChild"我将其添加到panelParent(父级)中。 我注意到panelChild没有继承它的容器(父)的宽度。

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

当我尝试在" panelParent"中添加JList时我这样做:

    JList list;
    DefaultListModel listModel;
    listModel = new DefaultListModel();
    listModel.addElement("element1");
    listModel.addElement("element2");
    list = new JList(listModel);

    JPanel panelChild = new JPanel();        
    panelChild.add(new JScrollPane(list));
    panelChild.setBackground( Color.blue );
    panelChild.setAlignmentX( Component.LEFT_ALIGNMENT );
    panelParent.add(panelChild);

我注意到panelChild没有继承其panelParent的宽度。 有什么方法可以实现这个目标吗?

感谢

1 个答案:

答案 0 :(得分:0)

我在问题中找到了一个解决方案,但它确实有效。

我做了以下事情:

    panelChild.setLayout(new BorderLayout());

在该行代码之后,childPanel的宽度与容器的宽度相同 宽度。