import java.awt.*;class xt
{
public static void main(String in[])
{
Frame f=new Frame("such as...");
f.setVisible(true);
f.setSize(600,300);
f.setLayout(new FlowLayout(2,5,5)); TextField tf1=new TextField("",20);


f.add(tf1);
f.add(new Button("xxx"));
}
}
这段代码,运行后显示一个窗口,窗口中一片空白什么也没有,
直到我将这个窗口最大化再还原,其中的控件才正常显示,
这是为什么?
是代码的原因,还是我的机器的原因?

解决方案 »

  1.   

    f.setVisible(true);
    这一行放到最后面试试,
    对于ui不熟
      

  2.   

    setVisible(true);放到该方法最后一行。或者update();
      

  3.   

    你的jdk是哪个版的,,我在我的jdk上就可以正常显示。
    显示操作最好放到最后。
      

  4.   

    这是我的jdk的文件名jdk-1_5_0_19-windows-i586-p.exe
      

  5.   

    setVisible方法放在前面的话,此时显示,显然后在后面加上去的一些组件就不能没有显示了,
    所以在改变一下框体大小,让jvm重新加载。
    至于jdk1.6放在前面也行,那大概sun作了一些改进吧》猜。