JavaFX TextField листенер возвращает путь папки с проектом

Рейтинг: 0Ответов: 0Опубликовано: 23.04.2015

Здравствуйте.

Пытаюсь сейчас разбираться с javaFX

Есть следующий код:

public void SourceFolderTextFieldMethod() {
    sourceFolderTextField.textProperty().addListener(((observable, oldValue, newValue) -> {
        messageConsoleSourceOK(newValue);
    }));

    sourceFolderTextField.setOnAction((event -> {
        String folder = sourceFolderTextField.getCharacters().toString();
        messageConsoleSourceOK(folder);
    }));
}

public void messageConsoleSourceOK (String value) {                                                                 //Проверяем существование папки по данному пути
    File file = new File(value);
    if (file.exists()) {
        sourceCheckerCircle.setFill(Color.GREEN);
        consoleOutputTextArea.appendText("The source folder is selected. Path " + file.getAbsolutePath() + " is exists\n");
    }
    else {
        sourceCheckerCircle.setFill(Color.WHITE);
    }
}

Листенер при обработке значения в TextField, когда newValue = "c:" возвращает путь к папке проекта.

Если значение "c:\" возвращает нормальный результат, что путь c:\ существует.

Если повторить то же самое с диском D, то в обоих вариантах отрабатывает нормально.

Как можно исключить некорректный возврат, и с чем это может быть связано?

Заранее благодарен за ответ

Ответы

Ответов пока нет.