javafx ajout de bouton de volet grille
Je suis l'ajout de bouton de volet grille de manière dynamique, mais après leur avoir donné la fonction qu'ils montrent tous la même fonction et je ne sait pas pourquoi?
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);
}
}
maintenant, j'ai ajouté trois bouton de volet grille quand je clique sur chaque bouton, ils montrent même sortie.
Je veux qu'ils montrent tous différents de sortie assignée .
Vous devez vous connecter pour publier un commentaire.
Vous n'êtes pas le définir dans les boutons, vous êtes toujours à l'aide d'un non final int pour exprimer vos valeurs, vous devriez essayer de le faire faire avec des valeurs uniques ou pour définir un id pour chaque bouton et obtenir la valeur de l'id:
Et si vous voulez utiliser des expressions lambda: