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);
}
}
我错过了什么?或者这是一个框架错误?如果我在哪里提交错误?
感谢 - 会这样做。 – Rainer
一旦你提出这个问题,让我知道我会跟进的Java事件ID ... – Fairoz
当然,你知道一个简单的为什么得到我的Windows系统上的J9 ea(没有“安装”它,这将覆盖系统java) – Rainer