2017-04-20 126 views
0

我的JavaFX TreeTableView出現問題。在一個案例中,我有> 100列,這裏的問題是最糟糕的。我正在使用JDK 8u121x64。JavaFX TreeTableView計算滾動條錯誤

當有很多列時,滾動條計算錯誤,並且最後一列被切割爲。這是一個SSCCE

import javafx.application.Application; 
import javafx.geometry.Insets; 
import javafx.scene.Scene; 
import javafx.scene.control.TreeItem; 
import javafx.scene.control.TreeTableColumn; 
import javafx.scene.control.TreeTableView; 
import javafx.scene.layout.Priority; 
import javafx.scene.layout.VBox; 
import javafx.stage.Stage; 

public class TreeTableViewScroll extends Application { 

    public static void main(final String[] args) { 
     launch(args); 
    } 

    @Override 
    public void start(final Stage primaryStage) throws Exception { 
     final Scene scene = createScene(); 

     primaryStage.setTitle("Tree Table View Scroll"); 
     primaryStage.setScene(scene); 
     primaryStage.show(); 
    } 

    private Scene createScene() { 
     final VBox vBox = new VBox(); 
     vBox.setPadding(new Insets(5)); 
     vBox.setSpacing(5); 

     final TreeTableView<String> resultsTable = new TreeTableView<>(); 
     resultsTable.setShowRoot(false); 
     final TreeItem<String> rootItem = new TreeItem<>(); 
     resultsTable.setRoot(rootItem); 

     for (int i = 0; i < 200; i++) { 
      final TreeTableColumn<String, String> dummyColumn = new TreeTableColumn<>("Long Column name " + i); 
      resultsTable.getColumns().add(dummyColumn); 
     } 

     final TreeTableColumn<String, String> nameColumn = new TreeTableColumn<>("Name_very long column text"); 
     resultsTable.getColumns().add(nameColumn); 

     vBox.getChildren().setAll(resultsTable); 
     VBox.setVgrow(resultsTable, Priority.ALWAYS); 
     vBox.setPrefSize(800, 600); 

     for (int i = 0; i < 50; i++) { 
      final TreeItem<String> newItem = new TreeItem<>("Text " + i); 
      rootItem.getChildren().add(newItem); 
      newItem.getChildren().add(new TreeItem<>("Text " + i)); 
     } 

     return new Scene(vBox); 
    } 
} 

我錯過了什麼?或者這是一個框架錯誤?如果我在哪裏提交錯誤?

Screenshot of the

回答

1

這是JDK8,一個問題,即,因爲我可以看到在JDK9 EA構建了預期的結果 你應該文件問題與Java - 的快速反應http://bugreport.java.com/submit_intro.do

enter image description here

+0

感謝 - 會這樣做。 – Rainer

+0

一旦你提出這個問題,讓我知道我會跟進的Java事件ID ... – Fairoz

+0

當然,你知道一個簡單的爲什麼得到我的Windows系統上的J9 ea(沒有「安裝」它,這將覆蓋系統java) – Rainer