在JavaFX中,要删除列表视图中除所选项目以外的其他项目,可以按照以下步骤进行操作:
getSelectionModel().getSelectedItems()
方法,可以获取到列表视图中当前选中的项目。下面是一个示例代码:
import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.ListView;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class Main extends Application {
@Override
public void start(Stage primaryStage) {
ListView<String> listView = new ListView<>();
ObservableList<String> items = FXCollections.observableArrayList(
"Item 1", "Item 2", "Item 3", "Item 4", "Item 5");
listView.setItems(items);
Button deleteButton = new Button("Delete");
deleteButton.setOnAction(event -> {
ObservableList<String> selectedItems = listView.getSelectionModel().getSelectedItems();
ObservableList<String> newItems = FXCollections.observableArrayList();
for (String item : items) {
if (!selectedItems.contains(item)) {
newItems.add(item);
}
}
listView.setItems(newItems);
});
VBox root = new VBox(listView, deleteButton);
Scene scene = new Scene(root, 200, 200);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
在这个示例中,我们创建了一个包含删除按钮的JavaFX应用程序。当用户选择一个或多个项目并点击删除按钮时,程序会删除列表视图中除选中项目以外的其他项目。
领取专属 10元无门槛券
手把手带您无忧上云