Comment faire pour remplir un TableView qui est définie dans un fichier fxml qui est conçu en JavaFx Scene Builder
Je voudrais savoir comment dois-je remplir une TableView avec des données... Tous les exemples que j'ai vus crée un TableView avec des colonnes et tout et ajouter à la scène. Tout est fait dans le code java lui-même.
Ce que je veux savoir: si je crée ma "forme" en JavaFx Scene builder. La définition de toutes les tables et les colonnes de là. Comment puis-je accéder à remplir à partir de java? Ou si quelqu'un peut m'indiquer un bon tutoriel sur cette s'il vous plaît.
J'ai défini ma forme en JavaFx Scene Builder - seulement un TableView avec 3 Colonnes
<?xml version="1.0" encoding="UTF-8"?>
<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.paint.*?>
<AnchorPane id="AnchorPane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="288.0" prefWidth="293.0" xmlns:fx="http://javafx.com/fxml">
<children>
<TableView fx:id="tableView" layoutX="35.0" layoutY="28.0" prefHeight="200.0" prefWidth="227.0">
<columns>
<TableColumn prefWidth="75.0" text="UserId" fx:id="UserId" />
<TableColumn prefWidth="75.0" text="UserName" fx:id="UserName" />
<TableColumn prefWidth="75.0" text="Active" fx:id="Active" />
</columns>
</TableView>
</children>
</AnchorPane>
J'ai mes données dans un jeu de résultats dans mon code Java.
ResultSet rs = c.createStatement().executeQuery(SQL);
J'ai besoin pour remplir le TableView.
Grâce
Vous devez vous connecter pour publier un commentaire.
À l'accès à tableview vous avez besoin de définir un contrôleur de votre FXML page. Ajouter
attribut à la
AnchorPane
dans le fichier FXML. Puis créer le contrôleur et le lien TableView, TableColumns de fichier FXML par la mise@FXML
annotation en face de ces variables:La tableview est remplie dans la
initialize
méthode. Notez que dans le contrôleur nous ne créons pas de nouvelles tableview ou tablecolumns, car ils sont déjà créés whlle le FXML fichier est en cours de chargement. À noter également que la TableView et Tablecolumn les noms de variables doivent être de même avecfx:id
valeurs dans le fichier FXML. Ainsi, alors que nom d'utilisateur, nom d'utilisateur et Active les noms ne sont pas commodes dénominations, les modifier à la fois dans le fichier FXML et Contrôleur des noms comme userIdCol, userNameCol et userActiveCol respectivement.@FXML private void initialize()
et il sera appelé par le FXMLLoader. la Preuve dans les docsinitialize()
comme jamais utilisé. Il fonctionne très bien.Yo pouvez le faire dans votre contrôleur: