Component クラスを拡張するクラスを作成しました。ペイント メソッドなどを設定します。クラスにマウス リスナを追加したところ、動作しません。マウスリスナークラスは次のとおりです。
public class RobotDetailsMouseListener implements MouseListener {
private Robot robot;
private boolean showDetails;
public RobotDetailsMouseListener(Robot robot) {
this.robot = robot;
showDetails = true;
}
@Override
public void mouseClicked(MouseEvent arg0) {
System.out.println("This is being ran!");
robot.setShowDetails(showDetails);
showDetails = !showDetails;
}
@Override
public void mouseEntered(MouseEvent arg0) {
System.out.println("Mouse is over a robot");
}
@Override
public void mouseExited(MouseEvent arg0) {
System.out.println("Mouse is over a robot");
}
@Override
public void mousePressed(MouseEvent arg0) {
System.out.println("Mouse is over a robot");
}
@Override
public void mouseReleased(MouseEvent arg0) {
System.out.println("Mouse is over a robot");
}
}
これはメソッドを介してコンポーネントに追加されておりthis.addMouseListener()
、 type の新しいオブジェクトを渡していますRobotDetailsMouseListener()
:
this.addMouseListener(new RobotDetailsMouseListener(this));
コンポーネント自体は画面上を頻繁に移動します (2D 平面上で自律型ロボットをシミュレートします)。それと何か関係があるのでしょうか?
前もって感謝します!