import java.awt.*;
public class Main {
public static void main(String[] args)
{
var p1 = new Panel();
p1.setLayout(new BorderLayout());
p1.add(new Button("*"),BorderLayout.SOUTH);
p1.add(new Button("*"),BorderLayout.WEST);
p1.add(new Button("*"),BorderLayout.EAST);
p1.add(new Button("*"),BorderLayout.NORTH);
p1.add(new Button("*"),BorderLayout.CENTER);
var p = new Frame();
p.setLayout(new BorderLayout());
p.add(p1,BorderLayout.NORTH);
p.add(p1,BorderLayout.SOUTH);
p.add(p1,BorderLayout.WEST);
p.add(p1,BorderLayout.EAST);
p.add(p1,BorderLayout.CENTER);
p.pack();
p.setVisible(true);
}
}
我的想法是在p中的五个部分放入p1(这个也是BorderLayout布局),因为BorderLayout布局管理器不是每个区域只能放一个组件吗,但是Panel也是组件,我就想把p1放入p的五个部分,但结果只是程序中p的最后一个add效果,不应该是区域重复才会替换吗,这个为啥跟我想的结果不一样?感谢大佬们的回答,感激不尽!