Моя петля, которая рисует автомобиль или грузовик, застревает, пока я не перемещаю экран во время его работы (Java) - PullRequest
0 голосов
/ 26 апреля 2019
public class vehicleViewer {

    public static void main(String args[]) throws InterruptedException{


        JFrame f = new JFrame();
        vehicleComponent c = new carComponent();
        vehicleComponent t = new truckComponent();

        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setSize(400, 400);

        c.seats();
        c.colors();
        t.seats();
        t.colors();

        System.out.println("Randomly generating...");

        ////////////////////////////////////////// random number gen
        Random dice = new Random();
        int number;

        for(int counter=1; counter<=20;counter++){
            number = dice.nextInt(2);
            Thread.sleep(1000);
            if (number == 0){ //if show 0, draw a car
                System.out.print("Car \n");
                f.add(c); //show the car
                f.remove(t); //remove the truck

            }
            else if (number == 1){ //if roll 1, draw a truck
                System.out.print("Truck \n");
                f.add(t); //show the truck
                f.remove(c); //remove the car

            }
            f.setVisible(true);
            Thread.sleep(1000); 


        }

    }
}

У меня есть генератор случайных чисел, где, если он напечатает 0 или 1, он нарисует автомобиль (0) или грузовик (1) на JFrame. После того, как он впервые переключается с одного на другой, он больше не переключается, а просто застревает на втором транспортном средстве. Единственный раз, когда он будет обновляться, я буду менять размеры экрана вручную во время его работы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...