jframe 的north部分为什么不能设置绝对布局呢

响亮才是哥的范 2017-01-04 08:48:55

public class MainFrame{
MainFrame(){
setLayout(new BorderLayout());
add(new MyPane(), BorderLayout.NORTH);
//add(new MyPane(), BorderLayout.CENTER);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(800,600);
setLocationRelativeTo(getOwner());
setVisible(true);
}
public static void main(Srting[] args){
new MainFrame();
}
}
class MyPane extends JPanel{
MyPane(){
setLayout(null);
JLabel j=new JLabel("test");
j.setBounds(0,0,50,20);
add(j);
}
}

注释掉 //add(new MyPane(), BorderLayout.CENTER);,也就是borderlayout布局frame北部添加JPanel,如果JPanel的布局为null;则不光JLabel不显示,整个JPanel都不显示
把代码改为
  
//add(new MyPane(), BorderLayout.NORTH);
add(new MyPane(), BorderLayout.CENTER);
,也就是null布局的jpanel放在frame的中间,JLabel才会显示
把JPanel的布局改为其他的,都正常
这是什么情况
...全文
112 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧