类中的线程循环

时间:2019-06-02 13:33:00

标签: java jframe jpanel

当从另一个扩展JFrame的类调用扩展JPanel的此类时,屏幕变为白色,但该类仍在起作用,只是屏幕变为全白,除非输入ctrl + c,否则我无法退出。原因是由于这个循环。我不知道为什么会这样。

while(gameOver == false)
        {           
            BeforeFall1();

            if(y>=10)
            {
                BeforeFall2();
            }

            if(y>=20)
            {
                BeforeFall3();
            }
        }

这是上面调用的方法。

public void BeforeFall1()
    {
        try{
            n1 = r.nextInt(5);
            interval1 = r.nextInt(1500)+2500;

            fall1 = new Fall1();
            fall1.start();

            Thread.sleep(interval1);

            if(c1==4 && time1>5)
            {
                time1--;
                c1=0;
            }

            while(interval1 >100)
                interval1-=300;

            flag1=true;
        }catch(Exception e){e.printStackTrace();}
    }

    public void BeforeFall2()
    {
        try{
            add1=1000;

            n2 = r.nextInt(5);
            interval2 = r.nextInt(1500) + add1;

            fall2 = new Fall2();
            fall2.start();

            Thread.sleep(interval2);

            if(c2==4 && time2>5)
            {
                time2--;
                c2=0;
            }

            while(interval2 >100)
            {
                interval2-=300;
                add1-=200;
            }

            flag2=true;
        }catch(Exception e){e.printStackTrace();}
    }

    public void BeforeFall3()
    {
        try{
            add2 = 275;
            interval3 = r.nextInt(200)+add2;

            n3 = r.nextInt(5);

            fall3 = new Fall3();
            fall3.start();

            Thread.sleep(325);

            flag3=true;
        }catch(Exception e){e.printStackTrace();}
    }

0 个答案:

没有答案