如何从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();
}
}
你能帮我理解如何让选定的行被删除吗?
答
只是在这个方法的开头加上personTable.setEditable(true)
。现在应该工作。
您发布的代码已经回答了问题“如何从”TableView“中删除所选行?”。如果这样会产生错误,那么您在使用您的其他代码或(如您已经建议的)配置时会遇到问题。您至少需要显示您收到的错误以及适当的错误代码。\ –
@James_D,IntelliJ无法识别Alert语句。有什么我应该导入的图书馆? – april21
确保至少使用Java 1.8.0_40,这是在引入警报时使用的。或者,只需删除使用Alert的代码,并针对该情况使用不同的解决方案。 –