2015-07-28 4 views
2

Я не могу понять, как прослушивать событие «Divider Repositioned» на JavaFX 8 SplitPane. Вот простое рабочее приложение, которое просто нужно добавить слушателя событий. Может ли кто-нибудь помочь указать мне в правильном направлении?Как добавить слушателей в разделительные позиции SplitPane?

public class TestCase extends Application { 
    public void start(Stage primaryStage) throws Exception { 
     Pane leftPane = new Pane(); 
     Pane rightPane = new Pane(); 
     SplitPane splitPane = new SplitPane(leftPane, rightPane); 

     // Need to create a listener that fires whenever the SplitPane's Divider is repositioned 
     // Within this listener I need access to the leftPane and rightPane so I can call requestLayout() 

     primaryStage.setScene(new Scene(splitPane)); 
     primaryStage.setWidth(800); 
     primaryStage.setHeight(600); 
     primaryStage.show(); 
    } 


    public static void main(String[] args) { 
     launch(args); 
    } 
} 
+0

Вам не нужно запрашивать макет при перемещении делителя: это должно происходить автоматически (поскольку изменяется размер смен). Зачем тебе это нужно? –

+0

Я пытаюсь устранить ошибку в моем приложении, которая имеет какое-то отношение к изменению размеров панелей в SplitPane. Однако, чтобы устранить эту проблему, мне нужно знать, как «слушать» измененную позицию разделителя. Как только я получу это выяснение, я могу продолжить поиск и устранение моей ** актуальной проблемы **. –

+0

Почему бы не использовать более конкретный макет, отличный от панели? –

ответ

2

Вы можете получить делители с splitPane.getDividers() и добавить ChangeListeners к dividers.positionProperty().

Смежные вопросы