В моей модели бизнес-логики я использую класс с ArrayList для хранения объектов типа Content.Все отлично работает.
Однако я понятия не имею, как связать эту модель с ModelView, не внося никаких изменений (за исключением методов получения / установки) в модель.
(РЕДАКТИРОВАТЬ :) Что я имею в виду: все связанные с моделью классы не могут быть изменены на свойства (например, String -> SimpleStringProperty)
Возможно ли реализовать MVVM без изменения модели (например, изменить ArrayListв ObservableArrayList и т., MainWindow.fxml)
public class MainWindow {
@FXML
private TableView<UploaderDB> uploaderTable;
@FXML public void initialize(URL fxmlFileLocation, ResourceBundle resources {
uploaderTable.itemsProperty().bind(modelView.items);
}
}
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.*?>
<?import javafx.scene.control.cell.PropertyValueFactory?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.layout.VBox?>
<AnchorPane prefHeight="700.0" prefWidth="1100.0"
xmlns="http://javafx.com/javafx/8.0.172-ea"
xmlns:fx="http://javafx.com/fxml/1" fx:controller="gui.MainWindow">
<children>
<VBox layoutX="14.0" layoutY="14.0" prefHeight="581.0"
prefWidth="662.0">
<children>
<TableView fx:id="uploaderTable" prefHeight="581.0" prefWidth="396.0" >
<columns>
<TableColumn prefWidth="180.0" text="Name" >
<cellValueFactory>
<PropertyValueFactory property="$uploaderName" />
</cellValueFactory>
</TableColumn>
<TableColumn prefWidth="100.0" text="Uploads" >
<cellValueFactory>
<PropertyValueFactory property="" />
</cellValueFactory>
</TableColumn>
</columns>
<!--</!-->
</TableView>
</children></VBox>
</AnchorPane>