Я динамически добавляю кнопку на панель сетки, но после предоставления им функции все они показывают одну и ту же функцию, и я не знаю, почему?
import java.awt.Panel;
import java.net.URL;
import java.util.ResourceBundle;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Button;
import javafx.scene.layout.GridPane;
public class TestController implements Initializable {
@FXML
Panel mpanel;
@FXML
GridPane gpnael;
int x=0,y=0,i=0,y1=0;
/**
* Initializes the controller class.
*/
@Override
public void initialize(URL url, ResourceBundle rb) {
// TODO
}
@FXML
private void add(ActionEvent event) {
y1++;
Button temp = new Button("Button " + i);
temp.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent e) {
System.out.println("button"+y1);
}
});
gpnael.add(temp,i++,1);
}
}
теперь я добавил три кнопки в панель сетки, когда я нажимаю на каждую кнопку, они показывают один и тот же вывод.
Я хочу, чтобы все они показывали разные выходные данные, как назначено.