title: JavaFX tableview not working, what am I doing wrong?
body: <p>I'm currently trying to make a JavaFX tableview with database. I just a started so mind me doing some things wrong. Anyhow, me and my friend are trying to learn java and we are both stuck at this. I was wondering anyone here could help me. First of all we have the initialize:</p>
  
  <p>I get this error : <code>Caused by: java.lang.NullPointerException
      at sample.Controller.BuildData(Controller.java:158)</code></p>
  
  <pre><code>void initialize() {
          {
              columID.setCellValueFactory(new PropertyValueFactory&lt;&gt;("id"));
              columNaam.setCellValueFactory(new PropertyValueFactory&lt;&gt;("naam"));
              columAchternaam.setCellValueFactory(new PropertyValueFactory&lt;&gt;("achternaam"));
              columWachtwoord.setCellValueFactory(new PropertyValueFactory&lt;&gt;("wachtwoord"));
              columWoonplaats.setCellValueFactory(new PropertyValueFactory&lt;&gt;("woonplaats"));
              columStraatnaam.setCellValueFactory(new PropertyValueFactory&lt;&gt;("straatnaam"));
              columHuisnummer.setCellValueFactory(new PropertyValueFactory&lt;&gt;("straatnummer"));
          }
      }
  </code></pre>
  
  <p>FXML:</p>
  
  <pre><code>@FXML
  private TableView&lt;UserModel&gt; usersTable;
  @FXML
  private TableColumn&lt;UserModel, Integer&gt; columID;
  @FXML
  private TableColumn&lt;UserModel, String&gt; columNaam;
  @FXML
  private TableColumn&lt;UserModel, String&gt;  columAchternaam;
  @FXML
  private TableColumn&lt;UserModel, String&gt;  columWachtwoord;
  @FXML
  private TableColumn&lt;UserModel, String&gt;  columWoonplaats;
  @FXML
  private TableColumn&lt;UserModel, String&gt;  columStraatnaam;
  @FXML
  private TableColumn&lt;UserModel, String&gt;  columHuisnummer;
  </code></pre>
  
  <p>This is the controller on button click:</p>
  
  <pre><code>public void BuildData() throws  IOException {
  
          FXMLLoader fxmlLoader = new FXMLLoader();
          fxmlLoader.setLocation(getClass().getResource("usertable.fxml"));
          Scene scene = new Scene(fxmlLoader.load(), 600, 400);
          Stage stage = new Stage();
          stage.setTitle("New Window");
          stage.setScene(scene);
          stage.show();
  
              try {
                  Class.forName("com.mysql.cj.jdbc.Driver");
                  conn = DriverManager.getConnection("jdbc:mysql://localhost/bibliotheek?user=root");
                  Connection con = conn;
  
                  ResultSet rs = con.createStatement().executeQuery("SELECT * from klanten");
  
                  ObservableList&lt;UserModel&gt; data = FXCollections.observableArrayList();
  
                  while (rs.next()) {
                          UserModel usr = new UserModel();
                          data.add(usr);
                          usr.setId(rs.getInt("id"));
                          usr.setNaam(rs.getString("naam"));
                          usr.setAchternaam(rs.getString("achternaam"));
                          usr.setWachtwoord(rs.getString("wachtwoord"));
                          usr.setWoonplaats(rs.getString("woonplaats"));
                          usr.setStraatnaam(rs.getString("straatnaam"));
                          usr.setStraatnummer(rs.getString("straatnummer"));
                  }
  
                  usersTable.setItems(data);
  
              }
              catch (SQLException sqlf) {
                  System.out.println(sqlf.getMessage());
              } catch (ClassNotFoundException e) {
                  e.printStackTrace();
              }
      }
  </code></pre>
  
  <p>UserModel:</p>
  
  <pre><code>package model;
  
  public class UserModel {
  
      private int id;
      private String naam;
      private String achternaam;
      private String wachtwoord;
      private String woonplaats;
      private String straatnaam;
      private String straatnummer;
  
  
      public UserModel(int id, String naam, String achternaam, String wachtwoord, String woonplaats, String straatnaam, String straatnummer) {
          this.id = id;
          this.naam = naam;
          this.achternaam = achternaam;
          this.wachtwoord = wachtwoord;
  
          this.woonplaats = woonplaats;
          this.straatnaam = straatnaam;
          this.straatnummer = straatnummer;
      }
  
      public void setId(int id) {
          this.id = id;
      }
  
      public void setNaam(String naam) {
          this.naam = naam;
      }
  
      public void setAchternaam(String achternaam) {
          this.achternaam = achternaam;
      }
  
      public void setWachtwoord(String wachtwoord) {
          this.wachtwoord = wachtwoord;
      }
  
      public void setWoonplaats(String woonplaats) {
          this.woonplaats = woonplaats;
      }
  
      public void setStraatnaam(String straatnaam) {
          this.straatnaam = straatnaam;
      }
  
      public void setStraatnummer(String straatnummer) {
          this.straatnummer = straatnummer;
      }
  
      public UserModel() {
  
      }
  
      public int getId() {
          return id;
      }
  
      public String getNaam() {
          return naam;
      }
  
      public String getAchternaam() {
          return achternaam;
      }
  
      public String getWachtwoord() {
          return wachtwoord;
      }
  
      public String getWoonplaats() {
          return woonplaats;
      }
  
      public String getStraatnaam() {
          return straatnaam;
      }
  
      public String getStraatnummer() {
          return straatnummer;
      }
  }
  </code></pre>
  
  <p>I really hope someone could help me further.</p>