小生是新手,有基本的功能有些问题想要请教。烦请各位不吝赐教
我想实现的是在某两行代码之间的执行有一定的缓冲,不知道应该怎么加上这段代码。由于我是在NetBeans下的Swing控件实现的功能,就想直接在这个jButton1ActionPerformed里面实现我的功能:private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        
    String username=jTextField1.getText();
    String password=jPasswordField1.getText();
    
    if(username.equals("admin") && password.equals("123456")){
        jLabel5.setText("欢迎你,"+username);
        **
        **
        this.dispose(); //同时只能够有1个窗口显示
        jFrame1.setVisible(true);
        jFrame1.setSize(356,633); //设置原始窗口大小就在**的两行里面加上代码,使得上下的两行代码的执行有1s的延时。timer多线程Swing

解决方案 »

  1.   

    恩....直接加的话好像不行,是不是要在开头哪里声明一下Thread?
      

  2.   

    恩....直接加的话好像不行,是不是要在开头哪里声明一下Thread?
            try
            {
                Thread.sleep(1000);
            }
            catch (InterruptedException e)
            {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } 
      

  3.   

    恩....直接加的话好像不行,是不是要在开头哪里声明一下Thread?
            try
            {
                Thread.sleep(1000);
            }
            catch (InterruptedException e)
            {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } 
    啊,没问题了,可以实现延迟了...不过没有出现我想要的结果,就是我想让jLabel里面的内容显示出来然后再通过this.dispose();消失,但是jLabel的内容还是没有显示出来,只是整个界面延迟了1s。应该怎么解决?
      

  4.   

            jFrame1.setVisible(true);
            jFrame1.setSize(356,633); //设置原始窗口大小
    这两行放到“欢迎你”那行后面试试
      

  5.   


    不行...我刚才尝试用循环来检查这个显示的先后顺序,发现跟jButton一起执行的显示命令System.out.println(" No." + i+" times")就能够显示,但是jbutton.setText的内容就不行......
      

  6.   


    恩...不知道能不能改成timer或者是wait之类的代码来实现?(初学者有好多不懂,见谅见谅...)
      

  7.   


    不行...我刚才尝试用循环来检查这个显示的先后顺序,发现跟jButton一起执行的显示命令System.out.println(" No." + i+" times")就能够显示,但是jbutton.setText的内容就不行......
    全部代码发来看看啊
      

  8.   


    不行...我刚才尝试用循环来检查这个显示的先后顺序,发现跟jButton一起执行的显示命令System.out.println(" No." + i+" times")就能够显示,但是jbutton.setText的内容就不行......
    全部代码发来看看啊全部代码好长,其实相关的就是这一部分,我贴上来,这样可以不? private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
            
        String username=jTextField1.getText();
        String password=jPasswordField1.getText();
        
        if(username.equals("admin") && password.equals("123456")){
            jLabel5.setText("欢迎你,"+username);
           /* try
            {
                wait();
            }
                catch (InterruptedException e)
                {
                e.printStackTrace();
                }*/
            this.dispose();//同时只能够有1个窗口显示
            jFrame1.setVisible(true);
            jFrame1.setSize(356,633); //设置原始窗口大小
            jFrame1.setTitle("Bulletin Boards-主界面");
            jFrame1.setLocation(200,200);  
            jFrame1.setResizable(true); //可设置窗口大小
            jButton8.setVisible(true);
            jButton8.setText("进入华师学生会信息平台");
            jButton9.setVisible(true);
            jButton6.setVisible(false);
            setDefaultCloseOperation(jFrame1.EXIT_ON_CLOSE);
            jFrame1.getRootPane().setDefaultButton(jButton9); //默认回车相应的按钮是写公告,但这个用处不大,必须要输入密码之后才行
            // for(int i=0;i<2;i++){
          /* try
            {
                Thread.sleep(1000);
            }
                catch (InterruptedException e)
                {
                e.printStackTrace();
                } 
            */
           // }    }
        else 
            jLabel5.setText("密码或用户名错误,请重新输入");       
      

  9.   


    加了的,如果你说的是jpanel的话...加和不加我都试过了..
      

  10.   

    恩....直接加的话好像不行,是不是要在开头哪里声明一下Thread?
            try
            {
                Thread.sleep(1000);
            }
            catch (InterruptedException e)
            {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } 
    啊,没问题了,可以实现延迟了...不过没有出现我想要的结果,就是我想让jLabel里面的内容显示出来然后再通过this.dispose();消失,但是jLabel的内容还是没有显示出来,只是整个界面延迟了1s。应该怎么解决?
    dispose()实现了什么?这段代码看看