我使用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的宽度。 有什么方法可以实现这个目标吗?
感谢
答案 0 :(得分:0)
我在问题中找到了一个解决方案,但它确实有效。
我做了以下事情:
panelChild.setLayout(new BorderLayout());
在该行代码之后,childPanel的宽度与容器的宽度相同 宽度。