没有setVisible(true)?
另外,你的数据库连接应该使用SwingUtilities放在一个线程中中做吧?

解决方案 »

  1.   

    把Login()中第三行的setVisible(true);放到conobj.add(buttonQuit);之后
      

  2.   

    因为你拖动是系统自动调用了
    repain
      

  3.   

    调整setVisible(true) 顺序:public Login()
    {
    setSize(400,500);
    GridLayout grid = new GridLayout(3,2);
    Container conobj = getContentPane();//very important
    conobj.setLayout(grid);
    Label nameLabel = new Label("Input the name");
    Label passwordLabel = new Label("Input the password");
    txtName = new TextField();
    txtPassword = new TextField();
    txtPassword.setEchoChar('*');
    Button buttonInsert = new Button("Insert");
    Button buttonQuit = new Button("Quit"); conobj.add(nameLabel);
    conobj.add(txtName); conobj.add(passwordLabel);
    conobj.add(txtPassword); conobj.add(buttonInsert);
    conobj.add(buttonQuit);
    //add aciton listener in constructor
    buttonInsert.addActionListener( new addFun() );
    buttonQuit.addActionListener( new quitFun() );
                      setVisible(true);
    }