0

私はこのコードを持っています: http://paste.ubuntu.com/5621366/

しかし、56 行目で keyPressed メソッドを呼び出そうとしましたが、実行しようとすると次のエラーが発生します。

error: cannot find symbol

これは Java コンパイラの非常に一般的なエラーであるため、解決方法がわかりません。

参考までに: 私は Java の初心者です。

また、「新しい」を削除すると、何かをインポートする必要がありますか?:

move.java:56: error: method keyPressed in class GraphicsProgram cannot be applie
d to given types;
                keyPressed();
                ^
  required: KeyEvent
  found: no arguments
  reason: actual and formal argument lists differ in length
1 error
4

1 に答える 1

1

あなたがやっているnew keyPressed();。を取り出してnew、合法的に続くことができるnewのはコンストラクターだけです。

キーを押したときに正方形を動かすには、いくつかの変更が必要です。まず、あなたのプログラムは現在KeyListenerインターフェースを実装していません。このクラスを実装するためのコードは次のとおりです。

class GraphicsProgram extends Canvas implements KeyListener {

第 2 に、クラスはインターフェイスを実装しているため、その抽象メソッドをすべてオーバーライドする必要があります。しか使用していませんが、メソッドをkeyPressedオーバーライドして、プログラムをコンパイルする必要もあります。使用しないので、空白のままにしておいてかまいません。最後に、グラフィックス ウィンドウをそれ自体のアクション リスナーとして設定する必要があります。これは、次のメソッドを使用して実行できます。keyReleasedkeyTypedaddActionListener

GP.addActionLisener( GP );
于 2013-03-17T04:38:50.763 に答える