Я хочу заполнить TableView данными в контроллере, но я не знаю, почему мое решение не работает.
в fxml элемент, который я хочу заполнить, выглядит следующим образом:
<TableView fx:id="t" layoutX="0" layoutY="30" prefHeight="400" prefWidth="600">
<columns>
<TableColumn prefWidth="200" text="name" fx:id="name" />
<TableColumn prefWidth="200" text="adress" fx:id="adress" />
<TableColumn prefWidth="200" text="phone" fx:id="phone" />
</columns>
</TableView>
и мой Контроллер:
public class controler implements Initializable {
public Pane p;
public MenuBar menu;
@FXML public TableView<User> t;
@FXML public TableColumn<User, String> name;
@FXML public TableColumn<User, String> adress;
@FXML public TableColumn<User, String> phone;
@Override
public void initialize(URL arg0, ResourceBundle arg1) {
FXCollections.observableArrayList(new User("zaza","zaza","zaza"));
menu.prefWidthProperty().bind(p.widthProperty());
t.getItems().add(new User("John","NewYork","+16879060"));
t.setEditable(true);
t.setVisible(true);
}
}
Я пытаюсь добавить некоторые данные в таблицу, но в таблице отображаются пустые столбцы, я не знаю, в чем ошибка
МойПользовательская модель, которую я считаю идеальной:
public class User {
private SimpleStringProperty name;
private SimpleStringProperty adress;
private SimpleStringProperty phone;
public String getName() {
return name.get();
}
public void setName(SimpleStringProperty name) {
this.name = name;
}
public String getAdress() {
return adress.get();
}
public void setAdress(SimpleStringProperty adress) {
this.adress = adress;
}
public String getPhone() {
return phone.get();
}
public void setPhone(SimpleStringProperty phone) {
this.phone = phone;
}
public User(String name, String adress, String phone) {
super();
this.name = new SimpleStringProperty(name);
this.adress = new SimpleStringProperty(adress);
this.phone = new SimpleStringProperty(phone);
}
}
Результаты: