Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- How to populate a TableView that is defined in an fxml file that is designed in JavaFx Scene Builder
- <?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>
- ResultSet rs = c.createStatement().executeQuery(SQL);
- fx:controller="path.to.MyController"
- package path.to;
- public class MyController implements Initializable {
- @FXML private TableView<User> tableView;
- @FXML private TableColumn<User, String> UserId;
- @FXML private TableColumn<User, String> UserName;
- @FXML private TableColumn<User, String> Active;
- @Override
- public void initialize(URL location, ResourceBundle resources) {
- UserId.setCellValueFactory(new PropertyValueFactory<User, String>("id"));
- UserName.setCellValueFactory(new PropertyValueFactory<User, String>("name"));
- Active.setCellValueFactory(new PropertyValueFactory<User, String>("active"));
- tableView.getItems().setAll(parseUserList());
- }
- private List<User> parseUserList(){
- // parse and construct User datamodel list by looping your ResultSet rs
- // and return the list
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement