当前位置: 代码迷 >> Java相关 >> [求助]更急的求救
  详细解决方案

[求助]更急的求救

热度:166   发布时间:2005-10-07 12:04:00.0
[求助]更急的求救
为什么这几天问题突然一下子多起来了...
我使用validate()确达不到想要的效果,为什么?....
代码如下:
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class Ttt{
public static void main(String arg[]){
  Frame1 win=new Frame1();
  
}
}
class Frame1 extends Frame{
//必须填写面版组件
TextField ID=new TextField(10);
TextField password=new TextField(15);
TextField repassword=new TextField(15);
Panel p1=new Panel();
Label mainb=new Label("必须填写信息部分");
Frame1(){
  //主窗口设定
  super("填写信息页面");
  setSize(700,500);
  setLocationRelativeTo(null);
  setLayout(new FlowLayout());
  setVisible(true);
  validate();
  //必须填写信息面版
  p1.add(mainb);
  p1.add(new Label("帐号:"));
  p1.add(ID);
  p1.add(new Label("输入密码:"));
  p1.add(password);
  p1.add(new Label("重新输入密码:"));
  p1.add(repassword);
  this.add(p1);p1.setVisible(true);p1.validate();
}
}
validate()的功能是解决窗口不能见组件的问题吧?可是依然会一开始看不到里面的内容,要调整窗口大小才能出现...
拜托指点~
----------------解决方案--------------------------------------------------------
把setVisible(true);放到add(p1);后面,validate();p1.setVisible(true);p1.validate();这几句都可以不用
----------------解决方案--------------------------------------------------------
哦,果然解决了,谢谢~~~~原来这个函数的调用还有顺序问题
----------------解决方案--------------------------------------------------------
  相关解决方案