1
분할 창 분할 자에 마우스 클릭 수신기를 추가하려고합니다.Nested Split Pane 's Divider에서 마우스 클릭 이벤트를 감지하는 방법은 무엇입니까?
작동하지만,이 분할 창에 분할 창이 중첩되어있는 경우이 분할 창 분할자를 가져 오는 대신 자식 분할 창 분할자를 가져옵니다. 다음은 작동하는 예제입니다.
여기서 알 수 있듯이 여기서는 클릭 수신기를 primarySplitPane의 구분선에 배치합니다. 그러나 리스너는 secondarySplitPane의 구분선에 배치됩니다.
public class DividerTest extends Application {
public static void main (String [] args) {
launch (args);
}
@Override
public void start (Stage stage) {
VBox boxA = new VBox();
VBox boxB = new VBox();
VBox boxC = new VBox();
SplitPane secondarySplitPane = new SplitPane();
secondarySplitPane.getItems().addAll(boxB, boxC);
secondarySplitPane.setOrientation(Orientation.VERTICAL);
SplitPane primarySplitPane = new SplitPane();
primarySplitPane.getItems().addAll(boxA, secondarySplitPane);
primarySplitPane.prefWidthProperty().bind(stage.widthProperty());
primarySplitPane.prefHeightProperty().bind(stage.heightProperty());
Scene scene = new Scene(new Group(), 800, 600);
((Group) scene.getRoot()).getChildren().addAll(primarySplitPane);
stage.setScene(scene);
stage.show();
Node primaryDivider = primarySplitPane.lookup(".split-pane-divider");
primaryDivider.setOnMouseClicked((e) -> System.out.println ("Clicked"));
}
}
올바른 구분선을 얻기 위해 .lookup을 어떻게 말 할 수 있습니까?
더 많은 문맥을 제공 할 수 있습니까? 시도하고 코드가 작동 중입니다. – DVarga
@Dvarga 감사합니다. 더 많은 정보가 있습니다. – JoshuaD