-2

我有三个类来制作 Snake 游戏,Snake、GameBoard 和 The_Main。The_Main 使用 'KeyAdapter' 从键盘读入声明是
public class The_main extends KeyAdapter{
但是我也想把这个游戏放在一个 html 页面上,所以我打算把它放在一个小程序中,使用以下代码:

 <html>
 <title>Applet Test</title>
 <body>
 <applet
    archive = "TheSnake.jar"
    code = "theSnake/The_Main.class"
     width="800" 
    height="800">
 </applet>
 </body>
 </html>

当我加载网页时,它给了我一个java.lang.reflect.InvocationTargetException. 我不知道如何获取堆栈跟踪,如果你们需要的话..

4

1 回答 1

1

不能在 Java 中扩展多个类。您可以实现多个接口,但这不是您想要的。

您应该有一个扩展类Applet,然后是扩展类KeyAdapter。然后,您可以类中引用KeyAdapter该类。Applet

一个Applet像这样的(在MyApplet.class,为您的 HTML):

public MyApplet extends Applet implements Runnable {
    // ...
    public someMethod() {
        MyKeyAdapter adapter = new MyKeyAdapter();
        // Do some stuff with `adapter`
    }
}

然后,您的KeyAdapter(未在 HTML 中使用;仅从Java 调用):

public MyKeyAdapter extends KeyAdapter {
    // ...
}
于 2012-09-11T20:44:57.257 回答