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 に答える