Как заполнить ArrayList данными ComboBox в Java - PullRequest
0 голосов
/ 21 марта 2019

Я пытаюсь выяснить, почему я продолжаю получать сообщение об ошибке, в котором говорится, что на нестатическую переменную destinationList нельзя ссылаться из статического контекста. Я знаю, как программа должна работать, поэтому мне не нужна помощь с этим. Я думал, что смогу просто поместить элементы в ArrayList, но это не сработало. Любая помощь будет оценена :) 1001 *

 public static void updateTextFile()
      {


          try (PrintWriter writer = new PrintWriter(new FileWriter(DESTINATIONS_FILE, true)))
          {

              writer.println(destinationList.getItems());


          }

               catch (IOException ioe)
          {
              System.out.println("Error when attempting to update file");
          }





      }

Ответы [ 3 ]

1 голос
/ 21 марта 2019

Удалите ключевое слово static из вашего метода updateTextFile(). Или, если вы хотите сохранить статичность, сделайте destinationList самой static.

0 голосов
/ 21 марта 2019

Как я понимаю твой вопрос. Для того чтобы получить ArrayList от Java8 ComboBox, достаточно простой интерфейс API ComboBox getItems(); возвращает список Obersvable уже. ObservableList API

Просто скопируйте список или используйте тот, который при условии, что любые изменения повлияют на базовый список. Если вы хотите скопировать список, вам нужно прочитать о мелких и глубоких копиях и о том, как это сделать. Руководства по всему интернету для этого.

Вы можете читать и писать список с помощью Java 7 NIO API

Files.write(Path path, Iterable<? extends CharSequence> lines, Charset cs, OpenOption... options)

К счастью для вас Наблюдаемый список повторяется!

0 голосов
/ 21 марта 2019

Ошибка в значительной степени говорит обо всем. Я предполагаю, что destinationList не является статичным? попробуйте передать список в метод в качестве параметра.

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