私はThe Art & Science of Javaテキストと SEE CS106A コースに取り組んできました。インタラクティブなグラフィック プログラムが導入されるまで、すべてが順調に進んでいました。テキストから直接引用した次のコードはコンパイルされません。
/*
* File: DrawLines.java
* -----------------------
* This program allows a user to draw lines to the canvas.
*/
import acm.graphics.*;
import acm.program.*;
import java.awt.event.*;
public class DrawLines extends GraphicsProgram {
public void run() {
addMouseListeners();
}
/** Called on mouse press to record the coordinates of the click */
public void mousePressed(MouseEvent e) {
double x = e.getX();
double y = e.getY();
line = new GLine(x, y, x, y);
add(line);
}
/** Called on mouse drag to reposition the object */
public void mouseDragged(MouseEvent e) {
double x = e.getX();
double y = e.getY();
line.setEndPoint(x, y);
}
private GLine line;
}
14 行目でcannot find symbol: method addMouseListeners()
エラーが発生して失敗します。そのメソッド呼び出しのない ACM ConsolePrograms と GraphicsPrograms は正常に動作します。私が知る限り、このメソッドは有効である必要があります。
ここで何か間違ったことをしていますか?ACM のドキュメントと教科書は古くなっていますか? ここにマウスリスナーを追加するにはどうすればよいですか?