BorderLayout会做一些奇怪的事情。如果我想补充两个面板的Container
用相同的约束(BorderLayout.CENTER
例如),那么第一个消失了,即使第二个被删除或不可见为什么BorderLayout会在添加新组件时覆盖组件?
它好像它将使意义它在前面的元素上面堆叠每个元素。
这是正确的,通过设计?如果是这样,是否有一些文件?
有没有其他人对此感到沮丧?你有没有解决方案,比如自定义LayoutManager
?
示例代码:
JFrame frame = new JFrame();
frame.setSize(500, 500);
JPanel panel1 = new JPanel();
panel1.setBackground(Color.blue);
frame.getContentPane().add(panel1);
JPanel panel2 = new JPanel();
panel2.setBackground(Color.red);
frame.getContentPane().add(panel2);
panel2.setVisible(false); // Seems like it should allow us to see panel1.
frame.setVisible(true);
这将创建并显示一个500×空白框。