请教一下,这段Java代码用适配器怎么改写?

import java.awt.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

public class MyChar {
public static void main (String[] args){
Frame w = new Frame();
w.setSize(300,400);

    MyPanel1 mp = new MyPanel1();
    w.add(mp);

    Thread t = new Thread(mp);
    t.start();

    w.addKeyListener(mp);
    mp.addKeyListener(mp);

    w.setVisible(true);
}

}

class MyPanel1 extends Panel implements Runnable , KeyListener{
int x[] = new int[10];
int y[] = new int[10];
char c[] = new char[10];

MyPanel1(){
    for(int i = 0;i<10;i++){
        x[i]=(int)(Math.random()*300);
        y[i]=(int)(Math.random()*300);
        c[i]=(char)(Math.random()*26+97);
    }
}

public void paint(Graphics g){
    for(int i = 0;i<10;i++){
        g.drawString(new Character(c[i]).toString(),x[i],y[i]);
    }
}

public void run(){
    while(true){
    for(int i = 0;i<10;i++){
        y[i]++;
        if(y[i]>400){
            y[i]=0;
            x[i]=(int)(Math.random()*300);
            c[i]=(char)(Math.random()*26+97);
        }
    }
    try{
        Thread.sleep(30);
    }catch(Exception e){}
    repaint();
}
}

public void keyPressed(KeyEvent arg0){
    char keyC = arg0.getKeyChar();
    for(int i = 0;i<10;i++){
        if(keyC == c[i]){
            y[i]=0;
            x[i]=(int)(Math.random()*300);
            c[i]=(char)(Math.random()*26+97);
            break;
        }
    }
}

public void keyReleased(KeyEvent arg0){}

public void keyTyped(KeyEvent arg0){}

}

可以把代码写成接口的模式,然后通过创建适配器进行接口转换