这里repaint()无法调用

问题遇到的现象和发生背景

这里repaint()无法调用

问题相关代码,请勿粘贴截图

package event;

import javax.accessibility.AccessibleContext;
import javax.swing.;
import java.awt.
;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

public class BallMovement extends JFrame{
public static void main(String arg[]) {
new BallMovement();
}

public BallMovement() {
    this.add(new MyPanel());
    this.addKeyListener(new MyPanel());
    this.setSize(500,500);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    this.setVisible(true);
}

}
class MyPanel extends JPanel implements KeyListener {
int x=50;
int y=50;

public void paint(Graphics g) {
    super.paint(g);

    g.fillOval(x,y,20,20);
    System.out.println(y);
}

@Override
public void keyTyped(KeyEvent e) {

}


@Override
public void keyPressed(KeyEvent e) {

    if(e.getKeyCode()==KeyEvent.VK_S) {
        y++;

            System.out.println(y);
        }
   this.repaint();

}
public void keyReleased(KeyEvent e) {

}

}

运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果