多个组件的相同 ActionEvent
Same ActionEvent for multiple components
我有这样的代码,
component1.setOnAction((ActionEvent event) -> {
for(int i=0; i<=10; i++){
System.out.println(i);
}
});
component2.setOnAction((ActionEvent event) -> {
for(int i=0; i<=10; i++){
System.out.println(i);
}
});
为了避免代码重复,我正在尝试类似的方法,
component1.setOnAction(action);
component2.setOnAction(action);
其中,
action = // how can i define the for loop here.
我试过了,
ActionEvent action = new ActionEvent(Source, target);
ActionEvent
构造函数要求提供源和目标(我不太清楚如何使用)。
我怎样才能做到这一点?
setOnAction()
需要 EventHandler
,而不是 ActionEvent
。没有什么能阻止您定义 EventHandler
并将其重新用于多个组件。
EventHandler predefinedHandler = (e) -> {
for (int i = 0; i <= 10; i++) {
System.out.println(i);
}
};
component1.setOnAction(predefinedHandler);
component2.setOnAction(predefinedHandler);
我有这样的代码,
component1.setOnAction((ActionEvent event) -> {
for(int i=0; i<=10; i++){
System.out.println(i);
}
});
component2.setOnAction((ActionEvent event) -> {
for(int i=0; i<=10; i++){
System.out.println(i);
}
});
为了避免代码重复,我正在尝试类似的方法,
component1.setOnAction(action);
component2.setOnAction(action);
其中,
action = // how can i define the for loop here.
我试过了,
ActionEvent action = new ActionEvent(Source, target);
ActionEvent
构造函数要求提供源和目标(我不太清楚如何使用)。
我怎样才能做到这一点?
setOnAction()
需要 EventHandler
,而不是 ActionEvent
。没有什么能阻止您定义 EventHandler
并将其重新用于多个组件。
EventHandler predefinedHandler = (e) -> {
for (int i = 0; i <= 10; i++) {
System.out.println(i);
}
};
component1.setOnAction(predefinedHandler);
component2.setOnAction(predefinedHandler);