2016-10-25 1 views
-1

Я использую элемент управления pagination в моем проекте, я прошу пользователей добавить текст на каждой странице (на каждой странице есть текстовое поле), когда пользователь меняет данные страницы, как я могу справиться с этим проблема?Сохранение данных страниц в JavaFX Pagination

pagination.setPageFactory(this::getPage); 

public Label getPage(int pageIndex) { 


     Label content = null; 
     if (pageIndex >= 0 && pageIndex < PAGE_COUNT) { 
      content = new Label("Content for page " + (pageIndex + 1) + "/" + new Date()); 
      content.setId("Label" + pageIndex +1); 
      //System.out.println(pageIndex+1); 
     } 

     return content; 
    } 
+0

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

+0

В приведенном выше коде, как я могу сохранить первую дату? – mohammadkad

ответ

1

Для кода вы показали, вы можете создать массив строк, а затем установить элементы массива при создании страниц. (Вы можете просто использовать массив Date с, если бы это было все данные, которые вы должны иметь доступ к.)

private String[] data = new String[PAGE_COUNT]; 

// ... 

pagination.setPageFactory(this::getPage); 

public Label getPage(int pageIndex) { 

    Label content = null; 
    if (pageIndex >= 0 && pageIndex < PAGE_COUNT) { 

     if (data[pageIndex] == null) { 
      data[pageIndex] = "Content for page " + (pageIndex + 1) + "/" + new Date(); 
     } 
     content = new Label(data[pageIndex]); 
     content.setId("Label" + (pageIndex +1)); 
     //System.out.println(pageIndex+1); 
    } 

    return content; 
} 
Смежные вопросы