【问题标题】:JavaFX 8 wrong SplitPane's diviser positionsJavaFX 8 错误的 SplitPane 的分隔符位置
【发布时间】:2014-09-22 08:08:02
【问题描述】:

我使用了一个 splitPane,里面有 4 个节点,没有大小限制。但是当我尝试拆分它时,它不起作用。

使用的代码

m_Split.setDividerPosition(0, 0.25);
m_Split.setDividerPosition(1, 0.5);
m_Split.setDividerPosition(2, 0.75);
double tab[] = m_Split.getDividerPositions();
for(int i=0; i < tab.length; i++)
{
    System.out.println("i=" + i + "  pos=" + tab[i]);
}

代码位于以 Platform.runLater(new Runnable) 和 run() 函数开头的函数中。

输出

i= 0  pos=0.2505854800936768
i= 1  pos=0.5
i= 2  pos=0.7505854800936768

但与其他位置值

i=0  pos=0.2997658079625293
i=1  pos=0.5
i=2  pos=1.0

有 0.3、0.6 和 1.0 和

i=0  pos=0.5
i=1  pos=0.5
i=2  pos=1.0

具有 0.5、1.0 和 1.0 值

我使用 Java 1.8Java FX 8

谢谢

【问题讨论】:

  • 感谢您的标签和消息编辑!

标签: java javafx javafx-8 splitpane


【解决方案1】:

你没有给出一个完整的例子来重现你的问题,所以我们只能猜测。您描述的问题的最可能原因是您已将子级添加到拆分窗格中,并且它们的最大/最小尺寸与您的分隔线约束不兼容。 javadoc 状态(强调我的):

将分隔线位置设置为大于节点的最大尺寸位置将导致分隔线设置在节点的最大尺寸位置。将分隔线位置设置为小于节点的最小尺寸位置将导致分隔线设置在节点的最小尺寸位置。 因此在 setDividerPosition(int, double) setDividerPositions(double...)中设置的值 可能与 getDividerPositions()返回的值不同。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-19
    • 1970-01-01
    • 1970-01-01
    • 2019-06-05
    • 2012-09-14
    • 2018-02-10
    • 2012-08-14
    • 1970-01-01
    相关资源
    最近更新 更多