JavaFX: как изобразить содержимое текстового файла в TextArea - PullRequest
0 голосов
/ 06 ноября 2018

В JavaFX мне нужно создать окно, которое будет полностью текстовым, и я много чего перепробовал, но ни одна из них на самом деле не работала. Мне удалось прочитать каждую строку из файла правильно, и я надеюсь, что он добавился к TextArea через TextArea.append, однако я не знаю, как проверить, сделал ли он это и как изобразить его в окне. Вот фрагмент моего класса:

 private void printGUI(String type, double remainder[], double payment[], double credit[], double interest[], int term) {

    Scene scene;

    StackPane layout = new StackPane();
    scene = new Scene(layout, 600, 600);

    TextArea text = new TextArea();

    java.io.File file = new java.io.File("Ataskaita.txt");
    try {
        Scanner input = new Scanner(file);
        while (input.hasNext()) {
            String line = input.nextLine();
            System.out.println(line); // this was only to check if it did read correctly
            text.append(line);        // don't know if this works
        }
    } catch (FileNotFoundException e) {
        System.out.println("Error!!");
    }

    //Below is the code that opens the winow with the title, however I don't know how to portray my TextArea into this window
    Stage window = new Stage();
    window.setScene(scene);
    window.setTitle(type + " grafikas");
    window.show();

}

Оцените помощь, внесите необходимые изменения в вопрос в соответствии с комментариями!

1 Ответ

0 голосов
/ 06 ноября 2018

Вы на самом деле никогда не добавляете TextArea к графу сцены. Вы создаете Scene с layout в качестве корня, но вам нужно добавить TextArea к потомкам layout.

layout.getChildren().add(text);

Вы также должны закрыть Scanner, когда закончите с ним. Я предлагаю вам использовать try-with-resources для автоматической обработки.

TextArea text = new TextArea();

File file = new File("Ataskaita.txt");
try (Scanner input = new Scanner(file)) {
    while (input.hasNextLine()) {
        text.append(input.nextLine());
    }
} catch (FileNotFoundException ex) {
    ex.printStackTrace();
}

Подробнее об использовании JavaFX см. Учебные пособия Начало работы с JavaFX .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...