如何从TableView中删除选定的行? (JavaFX与FXML)

如何从TableView中删除选定的行? (JavaFX与FXML)

问题描述:

所以,我想在我的程序中删除TableView中突出显示的行。如何从TableView中删除选定的行? (JavaFX与FXML)

我已经看过在线教程的负载,但真的不能让我的头在这附近。 我遵循了CodeMakery,这是Eclipse的例子,但我无法得到它的工作的IntelliJ

这是CodeMakery代码(因为一些明显的JDK的问题?):

private void handleDeletePerson() { 
    int selectedIndex = personTable.getSelectionModel().getSelectedIndex(); 
    if (selectedIndex >= 0) { 
     personTable.getItems().remove(selectedIndex); 
    } else { 
     // Nothing selected. 
     Alert alert = new Alert(AlertType.WARNING); 
     alert.initOwner(mainApp.getPrimaryStage()); 
     alert.setTitle("No Selection"); 
     alert.setHeaderText("No Person Selected"); 
     alert.setContentText("Please select a person in the table."); 

     alert.showAndWait(); 
    } 
} 

你能帮我理解如何让选定的行被删除吗?

+1

您发布的代码已经回答了问题“如何从”TableView“中删除所选行?”。如果这样会产生错误,那么您在使用您的其他代码或(如您已经建议的)配置时会遇到问题。您至少需要显示您收到的错误以及适当的错误代码。\ –

+0

@James_D,IntelliJ无法识别Alert语句。有什么我应该导入的图书馆? – april21

+2

确保至少使用Java 1.8.0_40,这是在引入警报时使用的。或者,只需删除使用Alert的代码,并针对该情况使用不同的解决方案。 –

只是在这个方法的开头加上personTable.setEditable(true)。现在应该工作。