Я пытаюсь узнать, как сделать графическую программу, но некоторые из методов в java AWT дают мне неожиданные результаты.AWT графика, объект исчезает ненадолго
Я сделал окно, и я поместил прямоугольник, и это работает. Я хочу, чтобы еще одна фигура, круг, появилась через 1 секунду. Я пробовал метод wait (x), который сразу же помещает круг, и теперь я попробовал метод Thread.sleep (x), который работает, но я получаю следующее поведение:
Через одну секунду, кружок отображается на экране, но после секундной паузы он снова исчезает, а через секунду он снова появляется и остается на экране. Я не хочу, чтобы он временно исчезал. Что я делаю не так?
import java.awt.*;
class Example extends Canvas{
public static void main(String[] args){
Example graphicProgram = new Example();
Frame graphics = new Frame();
graphics.setSize(300, 300);
graphics.add(graphicProgram);
graphics.setVisible(true);
}
public Example(){
setSize(200, 200);
setBackground(Color.white);
}
public void paint(Graphics g){
g.fillRect(20, 150, 100, 100);
try{
Thread.sleep(1000);
} catch (Exception ex){
}
g.fillOval(150, 20, 100, 100);
}
}