Bonjour,

Je voudrais savoir comment peut-on insérer différents éléments dans la même colonne d'un tableView
dans ma vue (FXML) j'ai une combobox qui contient des personnes, un textfield pour saisir le numéro de personne, n bouton ajouter et un table View

fichier fxml

Code XML : 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
<SplitPane dividerPositions="0.3002754820936639" focusTraversable="true" prefHeight="160.0" prefWidth="200.0">
                      <items>
                        <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="160.0" prefWidth="100.0">
                          <children>
                            <TableView fx:id="personnes" minWidth="0.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
                              <columns>
                                <TableColumn prefWidth="200.0" text="Peronnes" fx:id="column">
									<cellValueFactory>
										<PropertyValueFactory property="nom" />
									</cellValueFactory>
								</TableColumn>
                              </columns>
                            </TableView>
                          </children>
                        </AnchorPane>
                        <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="160.0" prefWidth="100.0">
                          <children>
                            <ComboBox fx:id="listPeronnes"  layoutX="25.0" layoutY="40.0" prefWidth="148.0">
                            </ComboBox>
                            <TextField layoutX="25.0" layoutY="95.0" prefWidth="149.0" />
                            <Label layoutX="25.0" layoutY="78.0" prefWidth="66.0" text="numero" />
                            <Label layoutX="25.0" layoutY="14.0" prefWidth="66.0" text="Personnes" />
                            <Button onAction="#handleAdd"  layoutX="25.0" layoutY="121.0" mnemonicParsing="false" text="Ajouter" />
                          </children>
                        </AnchorPane>
                      </items>
                    </SplitPane>

pour remplir tableView, l'utilisateur peut soit choisir une personne dans la combobox puis l'jouter en cliquant sur le bouton ajouter, soir de saisir le numéro de personne, et dans ce cas là c'est le numéro qui sera ajouter à la table
J'arrive à inserer le nom mais pas le numéro, je ne vois pas comment faire


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
import java.net.URL;
import java.util.ResourceBundle;
import javafx.application.Platform;
import javafx.beans.property.ListProperty;
import javafx.beans.property.SimpleListProperty;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.ComboBox;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.TextField;
import javafx.stage.Stage;
 
 
 
 
public class SampleController implements Initializable {
 
	private Stage stage;
 
	@FXML
	protected ComboBox<Personnes> listPeronnes;
	@FXML
	protected TableView personnes;
 
	@FXML
	protected TableColumn column;
 
	@FXML
	protected TextField numero;
	ObservableList<Personnes> liste = 
    FXCollections.observableArrayList(new Personnes("personne 1", 1),new Personnes("Personne 2",2));
	protected ListProperty<Personnes> prs=new SimpleListProperty<>(FXCollections.<Personnes>observableArrayList());
 
 
 
	@FXML
	protected void handleAdd()
	{
		prs.add(listPeronnes.getSelectionModel().getSelectedItem());
		personnes.getItems().setAll(prs);
	}
	@Override
	public void initialize(URL url, ResourceBundle rb) {
		listPeronnes.getItems().setAll(liste);
	}	
}
Personnes.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
public class Personnes {
 
 
	private StringProperty nom = new SimpleStringProperty();
	private IntegerProperty numero = new SimpleIntegerProperty();
 
	public StringProperty nomProperty() {
		return nom;
	}
 
 
	public Personnes(String nom,int num)
	{
		this.nom.set(nom);
		this.numero.set(num);
	}
	public IntegerProperty numeroProperty() {
		return numero;
	}
 
	public String getNom() {
		return nom.get();
	}
 
	public Integer getNumero() {
		return numero.get();
	}	
	@Override
	public String toString()
	{
		return this.nom.get();
	}	
}
Merci à vous tous