Теперь, когда я работаю на Java, я не понимаю, как можно легко сделать что-то подобное.
У меня есть общий класс Button. Это подкласс всех реальных кнопок, которые будут использоваться: каждая из них имеет свой метод для вызова при нажатии.
Неужели нет способа передать ссылку на метод, который будет вызываться при нажатии, чтобы я мог использовать один класс для всех кнопок?
В настоящее время я создаю такие кнопки:
Код: Выделить всё
// Specifically using the subclass that sets "firemode" to "close"
FiremodeClose fc = new FiremodeClose(Settings.ui_panel_start, Settings.ui_panel_row_firemode, game);
painter.addSelectionButton(fc);
clickTracker.addSelectionButton(fc);
Код: Выделить всё
// Generic button, the method that sets "firemode" is somehow passed as argument to the constructor.
Button fc = new Button(&referenceToFunctionToCallWhenClicked, otherArgumentsEtc);
painter.addSelectionButton(fc);
clickTracker.addSelectionButton(fc);
Подробнее здесь: https://stackoverflow.com/questions/391 ... onstructor
Мобильная версия