(JavaFX)最大化窗口(阶段)后,我再也无法在tableview中选择项目

时间:2015-06-23 22:35:02

标签: javafx tableview

因为我的代码很长,所以我会先尝试只是先描述一下这个问题,看看以前是否有人遇到过这个问题。

我有一个TableView,我填充各种对象,工作得很好。我创建了一个上下文菜单,所以每当我右键单击一个项目时我就可以编辑某些列。一切正常,但是当我最大化窗口时,我无法通过点击它们来选择任何项目。

以前有人遇到过这个问题吗?

Thx的帮助!

编辑: 我添加了一些代码行。我正在使用Java 1.8。

    anchorPane = new AnchorPane();
    anchorPane.setMaxWidth(550.0);

    tabPane = new TabPane();
    tabPane.setTabClosingPolicy(TabPane.TabClosingPolicy.UNAVAILABLE);
    tabPane.setTabMinHeight(22.0);
    tabPane.setPrefWidth(this.navigationWidth);

    homeTableView = new TableView<Player>();
    homeTableView.setEditable(true);
    homeTableView.setContextMenu(homeContextMenu);

    List<Player> test= mainWindow.getHomeTeamPlayer();
    ObservableList<Player> homeTeamPlayer =     FXCollections.observableArrayList(test);
    homeTableView.setItems(homeTeamPlayer);
    homeTableView.setContextMenu(homeContextMenu);

    Field[] fields = Player.class.getDeclaredFields();
    for(Field field: fields){

        // Get column information from Metadata
        ColumnMetadata columnMetadata = field.getAnnotation(ColumnMetadata.class);

        if(!columnMetadata.showInTable()) continue;

        TableColumn<Player, String> HomeCol = new TableColumn<>(columnMetadata.displayTitle());

        HomeCol.setCellValueFactory(new PropertyValueFactory<>(field.getName()));

        if(columnMetadata.isEditable()){
            HomeCol.setEditable(true);

        }

        homeTableView.getColumns().add(HomeCol);
    }

    homeTab = addTab("homename", homeTableView);

    AnchorPane.setRightAnchor(tabPane, 0.0);
    AnchorPane.setLeftAnchor(tabPane, 0.0);
    AnchorPane.setTopAnchor(tabPane, 0.0);
    AnchorPane.setBottomAnchor(tabPane, 0.0);

    anchorPane.getChildren().addAll(tabPane);



    public Tab addTab(String name, TableView tableView){
    Tab tab = new Tab();
    tab.setText(name);
    tab.setContent(tableView);
    tabPane.getTabs().addAll(tab);
    return tab;
    }

0 个答案:

没有答案