i为1,第一次运行时getWidth()就应该是100,怎么打印出来的是164
import java.awt.*;
public class awt2{
public static void main(String[] agras)throws Exception{
Frame f=new Frame("结构尺寸位置");
f.setVisible(true);
for(int i=1;i<=5;i++){
f.setSize(i*100,i*100);
f.setLocation(i*10,i*10);
System.out.println(f.getWidth());
Thread.sleep(1000);
}
}
}

解决方案 »

  1.   

    width, height 都有个最小值的。你设置的大小不能比它小;如果小了就用最小值代替。
    这可以理解吧。你见过一个像素的窗口么?
      

  2.   

    呵呵
    可能我说的让大家有点误解了:
    我说的最小值并不是说在代码里面有类似于
    width=123, height=50
    这样的编码。这个所谓的最小值是由标题栏的大小(里面有最大最小化以及关闭按钮)。
    貌似听说过有去掉这个标题栏的方法,不记得了。不知道去掉之后会不会有所改变。