日期:2014-05-20  浏览次数:20745 次

请问这两个程序为什么会产生这两个不同的差别呢?谢谢!
import java.awt.*;
public class NullLayout{
  public static void main(String args[]){
  Frame f=new Frame("我是李鹏飞");
  f.setLayout(null);
  Button b1=new Button("李");
  Button b2=new Button("鹏");
  Button b3=new Button("飞");
  b1.setSize(50,50);
  b1.setLocation(50,50);
  b2.setSize(50,50);
  b2.setLocation(100,100);
  b3.setSize(50,50);
  b3.setLocation(150,150);
  f.add(b1);
  f.add(b2);
  f.add(b3);
  f.setSize(200,200);
  f.setVisible(true);
  }
}




import java.awt.*;
public class NullLayout{
  public static void main(String args[]){
  Frame f=new Frame("我是李鹏飞");  
  Button b1=new Button("李");
  Button b2=new Button("鹏");
  Button b3=new Button("飞");
  b1.setSize(50,50);
  b1.setLocation(50,50);
  b2.setSize(50,50);
  b2.setLocation(100,100);
  b3.setSize(50,50);
  b3.setLocation(150,150);
  f.add(b1);
  f.add(b2);
  f.add(b3);
  f.setSize(200,200);
  f.setVisible(true);
  }
}


这两个程序的差别在于:第二个程序中没有了f.setLayout(null);
但是运行结果却相差很大,请问哪位大虾能够给我这个菜鸟解释一下吗?谢谢!




------解决方案--------------------
f.setLayout(null);虽然值为null,但对布局还是有点影响的
------解决方案--------------------
Frame 默认使用 BorderLayout。

setLayout(null) 是不使用布局管理器。
------解决方案--------------------
探讨
引用:
f.setLayout(null);虽然值为null,但对布局还是有点影响的

但是为什么产生的影响是那样呢?请问“飞”字其他两个字的显示为什么不同呢?

------解决方案--------------------
你研究下布局管理就知道为什么产生那样的影响了,其实2楼已经给了思路,给你解释了你也不会布局,这样对lz没帮助,还是lz自己研究布局为好;公司网吧电脑没装eclipse,无法运行程序;lz可以把图片上传到csdn空间,在插入图片地址就可以了;