Я использую javafx для создания графического интерфейса для моей программы и создал пользовательскую кнопку ComponentButton
. Это расширяет javafx.scene.control.Button
, единственная реальная разница в том, что кнопка имеет дополнительную переменную-член. Я хотел бы, чтобы у всех экземпляров моей кнопки был прикреплен к ним прослушиватель действий, слушатель использовал бы переменную-член. В результате я хотел бы иметь возможность определить прослушиватель действий в определении класса кнопки. На данный момент я не смог выполнить эту работу, я могу сделать прослушиватель действий для каждого экземпляра кнопки, но, поскольку их будет много, я бы предпочел избежать этого.Определить прослушиватель действий в пользовательском классе кнопок
Любые идеи или альтернативные подходы очень ценятся, заблаговременно.
Edit: Ответил он
Я решил сделать вид (где использовалась кнопка) реализации EventHandler<ActionEvent>
. Это означало, что я мог бы добавить метод
@Override
public void handle(final ActionEvent event)
{
//Do stuff
}
Это тогда означало, что я мог бы назвать button.setOnAction(this);
выполнить действие
«Я могу сделать слушатель действий для каждого экземпляра кнопки, но, как будет многие из них я бы предпочел избежать этого ». Почему вы хотите избежать этого? И «До сих пор я не смог выполнить эту работу» не является заявлением о проблеме. Что на самом деле происходит не так? –
Несомненно, 'this.setOnAction (this);', а не 'button.setOnAction (this);'? –
Я использовал его в классе UI, с петлей, создающей кнопки по мере необходимости. –