2014-09-22 34 views
1

我使用了一個splitPane,內部有4個節點,沒有大小限制。但是當我嘗試分割它時,它不起作用。JavaFX 8錯誤的SplitPane的diviser位置

代碼中使用

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(新的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.8的Java FX 8

感謝

+0

感謝您的標籤和消息編輯! – calasys 2014-09-22 09:02:05

回答

1

您還沒有給出一個完整的例子來重現你的問題,所以我們只能猜測。您描述的問題的最可能原因是您已將子項添加到拆分窗格,並且它們具有與您的分隔符約束不兼容的最大/最小大小。該javadoc國家(重點煤礦):

設置大於節點的最大尺寸位置將導致分壓器設定在節點的最大尺寸位置分隔位置。將分頻器位置設置爲小於節點的最小尺寸位置將導致分頻器被設置爲節點的最小尺寸位置。 因此值setDividerPosition(int, double)setDividerPositions(double...)設定可能不與由getDividerPositions()返回的值。