diff --git a/src/main/java/ch/fhnw/edu/stec/chooser/GigChooserView.java b/src/main/java/ch/fhnw/edu/stec/chooser/GigChooserView.java index 9b85064..2ebd41a 100644 --- a/src/main/java/ch/fhnw/edu/stec/chooser/GigChooserView.java +++ b/src/main/java/ch/fhnw/edu/stec/chooser/GigChooserView.java @@ -6,6 +6,7 @@ import javafx.geometry.Insets; import javafx.scene.control.Button; import javafx.scene.control.TextField; +import javafx.scene.layout.Background; import javafx.scene.layout.HBox; import javafx.scene.layout.Priority; import javafx.stage.DirectoryChooser; @@ -21,8 +22,18 @@ public GigChooserView(ObjectProperty gigDirectoryProperty, Window owner, G setPadding(new Insets(5)); TextField rootDirectoryValueField = new TextField(); - rootDirectoryValueField.setEditable(false); - rootDirectoryValueField.textProperty().bind(StringBinding.stringExpression(gigDirectoryProperty)); + rootDirectoryValueField.setEditable(true); + rootDirectoryValueField.setText(gigDirectoryProperty.get().getAbsolutePath()); + rootDirectoryValueField.focusedProperty().addListener((arg0, oldVal, newValue) -> { + File file = new File(rootDirectoryValueField.getText()); + if (!file.exists() || !file.isDirectory()){ + rootDirectoryValueField.setStyle("-fx-background-color: rgba(255, 0, 0, 0.3);"); + } + else if (file.exists() && file.isDirectory()){ + rootDirectoryValueField.setStyle(""); + gigDirectoryProperty.setValue(file); + } + }); DirectoryChooser directoryChooser = new DirectoryChooser(); directoryChooser.initialDirectoryProperty().bind(gigDirectoryProperty);