2015-08-03 4 views
0

Я испытываю странный графический сбой в своем приложении. Ситуация заключается в том, что я создаю некоторые GridPanes и добавляю их к родительскому GridPane, который находится внутри ScrollPane. Однако при прокрутке появляются некоторые странные сбои. Вот фотография: (Извините, что для использования ссылок у меня недостаточно репутации для публикации изображений).Графический глюк JavaFX

http://s11.postimg.org/x9eg8bz4z/Glitch.png

Вот картина того, что она должна выглядеть следующим образом:

http://s11.postimg.org/cqjk39l7n/Normal.png

Вот мой код:

private static class Controller implements Initializable { 

    @FXML private GridPane projectsPane; 

    @Override 
    public void initialize(URL location, ResourceBundle resources) { 
    //I first create some objects to be used when 
    //creating the GridPanes in the following loop, 
    //but I have removed the code for simplicity 
    for(AvailableProject availableProject : availableProjects) { 
      GridPane projectPane = new GridPane(); 
      projectPane.setBackground(new Background(new BackgroundFill(Color.DARKGREY, CornerRadii.EMPTY, Insets.EMPTY))); 
      ColumnConstraints column1 = new ColumnConstraints(); 
      column1.setPercentWidth(50); 
      ColumnConstraints column2 = new ColumnConstraints(); 
      column2.setPercentWidth(50); 
      projectPane.getColumnConstraints().addAll(column1, column2); 
      projectPane.setPadding(new Insets(5)); 
      Label projectName = new Label(availableProject.projectName); 
      GridPane.setValignment(projectName, VPos.CENTER); 
      projectPane.add(projectName, 0, 0); 
      TextFlow description = new TextFlow(new Text(availableProject.description)); 
      description.setMaxSize(200, 100); 
      GridPane.setValignment(description, VPos.CENTER); 
      projectPane.add(description, 0, 1); 
      Label category = new Label(availableProject.category); 
      GridPane.setValignment(category, VPos.CENTER); 
      GridPane.setHalignment(category, HPos.RIGHT); 
      projectPane.add(category, 1, 0, 1, 2); 
      projectsPane.add(projectPane, 0, yRow); 
      yRow++; 
      Pane pane = new Pane(); 
      pane.setMinHeight(15); 
      projectsPane.addRow(yRow, pane); 
      yRow++; 
     } 
    } 
} 

Я попытался упростить код, чтобы сделать его чище, но я отправлю остальное, если потребуется.

Спасибо!

ответ

0

Кажется, я нашел решение. По внешнему виду это действительно ошибка. Я сообщу об этом Oracle позже. Кажется, проблема заключалась в том, что у меня было дополнение в ScrollPane. По моим испытаниям, если заполнение было больше 5, произошли сбои. Обходной путь заключается в назначении прокладки родительской GridPane, а не ScrollPane.