Я хотел бы рисовать новую случайную форму каждые 2 секунды.
У меня уже есть окно, которое показывает сразу несколько фигур. Я пытался возиться с Timer, чтобы через несколько секунд появилось что-то новое в окне, но это не сработало, или вся программа зависла. Это хорошая идея, чтобы использовать таймер? Как мне это реализовать, чтобы она работала?
import javax.swing.*;
import java.awt.*;
import java.util.Random;
class Window extends JFrame {
Random rand = new Random();
int x = rand.nextInt(1024);
int y = rand.nextInt(768);
int shape = rand.nextInt(2);
Window(){
setSize(1024,768);
setVisible(true);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public void paint(Graphics g) {
super.paint(g);
g.setColor(new Color(0, 52, 255));
switch(shape) {
case 0:
g.fillOval(x, y, 50, 50);
break;
case 1:
g.fillRect(x,y,100,100);
break;
}
repaint();
}
}
public class Main {
public static void main(String[] args) {
Window window = new Window();
}
}
Я также хотел бы нарисовать несколько случайных фигур. Можно ли использовать переключатель в методе рисования для этой цели? Я бы сделал случайную переменную, если это 1, то это нарисовало бы прямоугольник, если это 2, то это нарисовало бы овал и т. Д.