Надеюсь, этот вопрос не является повторением существующего! Я искал и не нашел хорошего ответа на мой вопрос. Вот он:Метод вызова класса объекта
У меня есть класс MyGame, который содержит объект-член Button. Всякий раз, когда нажимается эта кнопка, MyGame должен что-то делать.
class MyGame extends Application {
MyBoard board = new MyBoard();
MyButton btn = new MyButton();
public MyGame() {
board.add(btn);
}
// this method should be called whenever the button is clicked!
public void doSomething() {
doingSomething();
}
}
class MyButton extends Button {
int someData;
// some code here
public MyButton() {
this.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent arg0) {
MyGame.doSomething(); // ==> NOT POSSIBLE!!!
}
});
}
}
ли интерфейс быть лучшим способом, чтобы сделать связь между MyButton и MyGame идти? Если да, как бы вы это сделали?
Я не хочу передавать ссылку объекта MyGame объекту MyButton! Я думаю, что это не очень хороший способ решить эту проблему.
Я ценю любые предложения и помощь!
Приветствия
Если вы посмотрите на [класс Button в java API] (http://docs.oracle.com/javase/7/docs/api/java/awt/Button.html), вы увидите, что есть функция с именем addActionListener. Быстрый поиск того, как использовать его в google, должен дать вам много информации, чтобы продолжить оттуда! – Gladhus