Я следую коду, который нашел на geeksforgeeks , но слушатель мыши не запускается. Я подозреваю, что каким-то образом реализация runnable блокирует доступ к моему объекту платы, но я не уверен. Я нахожусь в той же лодке, что и OP этого сообщения .
public class Game extends Canvas implements MouseListener {
JFrame jf = new JFrame();
Game() {
jf.getContentPane().add(this, BorderLayout.CENTER);
jf.setSize(new Dimension(500,500+30));
jf.setVisible(true);
jf.addMouseListener(this);
}
public void mouseClicked(MouseEvent e){
System.out.println("Hello World!");
}
public void mousePressed(MouseEvent e){}
public void mouseReleased(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
public static void main(String[] args){
Game game = new Game();
}
}
Я подозреваю, но сомневаюсь, что слушатель мыши может не работать должным образом из-за того, что он был создан в не -stati c, но я сомневаюсь, что это проблема. Я пробовал переместить объявление в начало конструктора, но это не помогло.