Add basic property binding test

This commit is contained in:
Nathan McRae 2025-01-01 20:24:14 -08:00
parent aa42155644
commit 47e0ad7393
2 changed files with 21 additions and 2 deletions

View File

@ -21,7 +21,7 @@
<FlowPane alignment="CENTER_LEFT" prefHeight="41.0" prefWidth="640.0"> <FlowPane alignment="CENTER_LEFT" prefHeight="41.0" prefWidth="640.0">
<children> <children>
<Label prefHeight="17.0" prefWidth="49.0" text="Station: " /> <Label prefHeight="17.0" prefWidth="49.0" text="Station: " />
<TextField editable="false" style="-fx-background-color: #EEEEEE; -fx-border-color: #AAAAAA;" text="My Station"> <TextField fx:id="stationNameField" editable="false" style="-fx-background-color: #EEEEEE; -fx-border-color: #AAAAAA;" text="My Station">
<FlowPane.margin> <FlowPane.margin>
<Insets right="10.0" /> <Insets right="10.0" />
</FlowPane.margin> </FlowPane.margin>
@ -75,7 +75,7 @@
</font> </font>
</Label> </Label>
<Label layoutX="170.0" layoutY="16.0" text="Numbers station address:" /> <Label layoutX="170.0" layoutY="16.0" text="Numbers station address:" />
<TextField layoutX="180.0" layoutY="40.0" prefHeight="25.0" prefWidth="390.0" AnchorPane.leftAnchor="188.0" AnchorPane.rightAnchor="0.0" /> <TextField fx:id="stationAddressField" layoutX="180.0" layoutY="40.0" prefHeight="25.0" prefWidth="390.0" AnchorPane.leftAnchor="188.0" AnchorPane.rightAnchor="0.0" />
</children> </children>
</AnchorPane> </AnchorPane>
<Separator prefWidth="200.0" /> <Separator prefWidth="200.0" />

View File

@ -5,11 +5,20 @@ import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.dataformat.xml.XmlMapper; import com.fasterxml.jackson.dataformat.xml.XmlMapper;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import javafx.beans.property.SimpleStringProperty;
import javafx.beans.property.StringProperty;
import javafx.fxml.FXML; import javafx.fxml.FXML;
import javafx.scene.control.TextField; import javafx.scene.control.TextField;
public class NumbersStationSettingsController { public class NumbersStationSettingsController {
private NumbersStationSettings settings; private NumbersStationSettings settings;
private StringProperty stationNameAndAddress = new SimpleStringProperty();
@FXML
private TextField stationNameField;
@FXML
private TextField stationAddressField;
public NumbersStationSettingsController() throws IOException { public NumbersStationSettingsController() throws IOException {
System.out.println("Created settings controller"); System.out.println("Created settings controller");
@ -20,9 +29,19 @@ public class NumbersStationSettingsController {
settings.getStations().add(new StationSettings()); settings.getStations().add(new StationSettings());
} }
@FXML
private void initialize() {
stationNameField.textProperty().bindBidirectional(stationNameAndAddress);
stationAddressField.textProperty().bindBidirectional(stationNameAndAddress);
}
@FXML @FXML
private void handleSaveButtonPress() throws IOException { private void handleSaveButtonPress() throws IOException {
XmlMapper xmlMapper = new XmlMapper(); XmlMapper xmlMapper = new XmlMapper();
xmlMapper.writeValue(new File("setting-test.xml"), settings); xmlMapper.writeValue(new File("setting-test.xml"), settings);
} }
public StringProperty stationNameAndAddressProperty() {
return stationNameAndAddress;
}
} }