JavaFX ListView Файл Сохранить - PullRequest
       11

JavaFX ListView Файл Сохранить

0 голосов
/ 08 октября 2018

Я постараюсь сделать свой пост максимально коротким;

Вот мой custom Object

public class ListItem {
ListItem(String text){
    this.text = text;
}

final String text;
final ObjectProperty<Font> font = new SimpleObjectProperty<>();
final ObjectProperty<Color> color = new SimpleObjectProperty(Color.BLACK);
}

Это объект для хранения: String, Color, Font/int (япросто нужен размер шрифта, может при необходимости изменить его на int)

Используя его, я создал ListView<ListItem>.

Теперь я могу заполнить этот ListView<ListItem> клеткой, которая является ListItem с использованием CellFactory.Это похоже на это .

Пока здесь - все работает. (Приведенный выше код и объяснение для лучшего понимания того, что я пытаюсь сделать)

но сейчас я не знаю, как сделать следующее:

  • Сохранение ListView -контента в file.Или немного яснее;Как я могу взять все содержимое моего ListView, заполненного пользовательскими объектами, при сохранении всех их свойств (String, Color, Int)?

Небольшой пример того, как я представляю, что датьВы лучше идея:

"entry_1":
  text: "entry text goes here"
  color: "web color code goes here (e.g. #ff4d4d)"
  fontsize: "16"
"entry_2":
  ...

Обновление

Я настроил цикл, я думаю, он должен работать нормально, но это дает мне ошибки;

Мой файл / его путь:

private final String saveLoc = System.getenv("ProgramFiles") 
+ File.separator 
+ "simpleNotizen" 
+ File.separator 
+ "simpleNotizen.properties";
private final File save = new File(saveLoc);

Как я это называю:

if(!save.exists()){
    save.getParentFile().mkdirs();
    save.createNewFile();
}

Ошибка (выдается save.createNewFile();):

Caused by: java.io.IOException: The System can't find the given Path

(Или что-то похожее, пришлось перевести это)

Я действительно не понимаю, почему выдается ошибка, я пробовал FileWriter, OutputStream, File, но каждый раз та же ошибка ..

Я такжепопытался дать sysout, который выглядит совершенно нормально:

C:\Program Files\simpleNotizen\simpleNotizen.properties

Решено

Если кому-то интересно, как я это исправил, вот оно

Для сохранения моего ListView контента я написал цикл, который повторяется по количеству записей в ListView;

    for (int i = 0; i < listSize; i++) {
       prop.setProperty("entry_" + Integer.toString(i),
               listView.getItems().get(i).text
               + "|"
               + listView.getItems().get(i).color.getValue()
               + "|"
               + listView.getItems().get(i).font.getValue().getSize()
               );
   }

Появляется моя вторая проблемаd быть проблемой с правами доступа C:\Program Files\ -Path, исправил ее, заменив w / APPDATA

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