Bonjour
J'ai un petit soucis avec onAction des boutons, je vous explique
J'ai la vue suivante

Sample.fxml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
<?xml version="1.0" encoding="UTF-8"?>
 
<?import java.net.*?>
<?import javafx.geometry.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.text.*?>
 
<AnchorPane fx:id="AnchorPane" prefHeight="650" prefWidth="650" xmlns:fx="http://javafx.com/fxml" fx:controller="javafxapplication1.SampleController">
    <stylesheets>
   <URL value="@toto.css" />
 </stylesheets>
 
    <children>
       <FlowPane fx:id="flowpan" prefHeight="200.0" prefWidth="300">
 
 
       </FlowPane>  
    </children>
</AnchorPane>
dans cette vue il faut que je crée des Pane selon le nombre de Matériel que j'ai, c'est à dire si j'ai 3 matériels je doit ajouter à ma vue (entre FlowPane) 3 pane, chaque pane contient un label et un bouton
voilà mon controlleur

SampleController.java

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
 
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import java.util.ResourceBundle;
import javafx.beans.property.ListProperty;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.control.Button;
import javafx.scene.control.ButtonBuilder;
import javafx.scene.control.ComboBox;
import javafx.scene.control.Label;
import javafx.scene.control.LabelBuilder;
import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.AnchorPaneBuilder;
import javafx.scene.layout.FlowPane;
import javafx.scene.layout.HBox;
import javafx.scene.layout.HBoxBuilder;
import javafx.scene.layout.Pane;
import javafx.scene.layout.PaneBuilder;
import javafx.scene.text.Font;
 
/**
 *
 * @author admin
 */
public class SampleController implements Initializable {
 
 
    @FXML
    private HBox hboxButton;
 
    @FXML
    private FlowPane flowpan;
 
    @FXML
    private Button changeButton;
 
    @FXML
    private Label materielLabel;
 
 
    @Override
    public void initialize(URL url, ResourceBundle rb) {
        // TODO
 
        ArrayList<Materiel> l1=new ArrayList<>();
        Materiel m1=new Materiel("Materiel 1");
        Materiel m2=new Materiel("Materiel 2");
         Materiel m3=new Materiel("Materiel 3");
 
 
          l1.add(m1);
          l1.add(m2);
           l1.add(m3);
            //construire les different Pane
        createMaterielPan(l1);
    }  
 
    public void createMaterielPan(ArrayList<Materiel> l1)
	{       
                //creation des pane selon le nombre de materiels
		for(int j=0; j<l1.size(); j++)
		{
                    //creer label
			materielLabel=LabelBuilder.create().text(l1.get(j).getNomMateriel())
			.layoutX(42.0)
			.layoutY(23.0)
			.prefWidth(147.0)
			.font(new Font("System Bold", 18.0))
 
			.build();
 
			//creation du bouton "changer"
 
			changeButton= ButtonBuilder.create()
				.styleClass("MenuButton")
				.text("Changer")
				.onAction(new EventHandler<ActionEvent>() { //Action on button
				@Override
				public void handle(ActionEvent t) 
				{
                                        hboxButton.getChildren().remove(changeButton);//supprimer bouton au clique
 
                                }
				})
				.build();
			//hbox du bouton "changer"						
			hboxButton=HBoxBuilder.create()
				.padding(new Insets(10.0, 10.0, 10.0, 10.0))
				.alignment(Pos.BOTTOM_RIGHT)
				.layoutY(118.0)
				.spacing(8.0)
				.prefWidth(228.0)
				.children(changeButton)//add button to the hboxButton
				.prefHeight(58.0).build();
 
			//creation du pan
			  Pane p=PaneBuilder.create().children
			(
				AnchorPaneBuilder.create()
				.prefHeight(200.0)
				.prefWidth(228.0)
				.layoutX(89.0)
				.styleClass("MainPane")
				.children(materielLabel,hboxButton)//add label and hboxbutton
				.build()
 
			).build();
			flowpan.getChildren().add(p);//add pan to the flopan (fxml)
 
		}}}

donc mon problème est dans .onAction sur le bouton (fonction createMaterielPan du controlleur)quand je clique sur le bouton de mon premier pane
c'est le bouton du 3ième pane qui est supprimé
je voudrais savoir comment faire la différence entre quel bouton de quel pan à été cliqué

voilà..j'espère que c'est un peux claire

Merci