Эта программа при запуске показывает овал в месте 70,70 и есть кнопка запуска. После того, как я нажму кнопку «Пуск», программа остановится в течение некоторого времени, а овал перемещается на одну позицию на юго-восток. На самом деле это должно было скатиться к другому углу.Моя программа JPanel не работает успешно
Это программа ....
package javaapplication1.pkg161;
import java.awt.BorderLayout;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Player {
int x = 70;
int y = 70;
static JFrame f;
public static void main(String args[]) {
Player p = new Player();
p.go();
}
public void go() {
f = new JFrame("title");
f.setSize(200, 200);
f.setVisible(true);
Window win = new Window();
f.add(BorderLayout.CENTER, win);
JButton b = new JButton("Start");
f.add(BorderLayout.SOUTH, b);
b.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
for (int i = 0; i < 130; i++) {
win.repaint();
try {
Thread.sleep(50);
} catch (InterruptedException e1) {
System.out.println("error");
}
}
}
});
}
class Window extends JPanel {
public void paintComponent(Graphics g) {
x++;
y++;
g.fillOval(x, y, 100, 100);
}
}
}
начала принимая взглянуть на [параллельности в свинг] (http://docs.oracle.com/javase/tutorial/uiswing/concurrency /) и [Как использовать таймеры Swing] (http://docs.oracle.com/javase/tutorial/uiswing/misc/timer.html) – MadProgrammer