Я все еще студент. Я пытаюсь научиться рисовать мяч и двигаться сам.Почему мой мяч продолжает мигать?
Вот код:
import javax.swing.*;
import java.awt.*;
public class Ball extends JFrame
{
int x = 50;
int y = 50;
int rad = 30;
Ball(){
setSize(500,500);
setTitle("Ball");
setVisible(true);
}
void move()
{
if (x < getWidth() - rad){
x = x + 1 ;
}
try
{
Thread.sleep(100);
}
catch(Exception e)
{
}
}
public void paint(Graphics g)
{
super.paint(g);
g.fillOval(x,y,rad,rad);
}
public static void main(String args[])
{
Ball b = new Ball();
while(true){
b.move();
b.repaint();
}
}
}
Я бы сказал, этот код работать 60%, потому что
, когда я запускаю программу мяч движется вправо, но мигать для некоторых причина, и я не знаю, почему.
Это моя компьютерная проблема, или код или какая-то ошибка?
Я использую затмение Луну
Когда вы поймаете свое исключение, по крайней мере распечатайте что-то, чтобы вы знали, когда что-то пойдет не так. – Gendarme
Это, похоже, связано с тем, что перекрашенный шар - его нужно удалить и снова отобрать, что может иметь небольшое отставание, что приводит к миганию. –
Прекрасно работает для меня. Не мигает. Я бы добавил операцию закрытия по умолчанию на вашем JFrame: http://stackoverflow.com/questions/7799940/jframe-exit-on-close-java – ManoDestra