【问题标题】:How to add listeners to SplitPane Divider positions?如何将侦听器添加到 SplitPane Divider 位置?
【发布时间】:2015-07-28 18:03:24
【问题描述】:

我不知道如何在 JavaFX 8 SplitPane 上监听“Divider Repositioned”事件。这是一个简单的工作应用程序,只需要添加事件侦听器。有人可以帮我指出正确的方向吗?

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);
    }
}

【问题讨论】:

  • 您不需要在分隔线移动时请求布局:这应该会自动发生(因为窗格的大小会发生变化)。为什么需要这个?
  • 我正在尝试解决我的应用程序中与调整 SplitPane 中的窗格大小有关的错误。但是,为了对其进行故障排除,我需要知道如何“监听”正在更改的分隔位置。一旦我弄清楚了,我就可以继续解决我的实际问题。
  • 为什么不使用窗格以外的更具体的布局?

标签: listener javafx-8 splitpane


【解决方案1】:

您可以使用splitPane.getDividers() 获取分隔符并将ChangeListeners 添加到dividers.positionProperty()

【讨论】:

    猜你喜欢
    • 2016-08-21
    • 2011-08-16
    • 2022-08-03
    • 2013-02-17
    • 2011-09-28
    • 1970-01-01
    • 2018-06-04
    • 2021-08-10
    • 1970-01-01
    相关资源
    最近更新 更多