0

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

使用的代码

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

谢谢

4

1 回答 1

1

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

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

于 2014-09-23T05:43:43.807 回答