В настоящее время я делаю некоторые основные графики с таймером в JPanel
, но я не могу понять, почему таймер растет экспоненциально.Java-таймер ускоряется с перерисовкой
Вот мой код:
public class panel extends JPanel implements ActionListener {
int r = 20;
Timer forgo;
public panel(){
setSize(400,400);
}
public void paintComponent(Graphics g){
super.paintComponent(g);
g.drawOval(r, 20, 20, 20);
forgo = new Timer(1000,this);
forgo.start();
}
public void actionPerformed(ActionEvent e) {
r+=5;
repaint();
System.out.println(r);
}
}
так, как вы можете видеть, что я пытаюсь сделать овал перейти к правому краю панели, но моя консоль печатает что-то вроде:
25
30
35
40
45
50
55
60
65
70
75
80
85
90
95
100
105
110
115
120
125
130
135
140
145
150
155
через несколько секунд я не могу понять, почему это ускоряется.
Что не так с этим выходом ??? – Muhammad
Краска для живописи, никогда не меняет состояния всего, что может повлиять на процесс окраски – MadProgrammer