区块链技术博客
www.b2bchain.cn

java.lang.UnsupportedOperationException,用于从javafx tableview中删除一行 – java程序员分享

本文介绍了java.lang.UnsupportedOperationException,用于从javafx tableview中删除一行 – java程序员分享,有助于帮助完成毕业设计以及求职,是一篇很好的资料。

对技术面试,学习经验等有一些体会,在此分享。

我试图从javafx的tableview中删除所选记录。
以下是我如何用数据填充表的方法:

public void setMainApp(MainAppClass mainApp){     this.mainApp = mainApp;      FilteredList<FileModel> filteredData = new FilteredList<>(mainApp.getFileData(), p -> true);      // 2. Set the filter Predicate whenever the filter changes.     filterField.textProperty().addListener((observable, oldValue, newValue) -> {         filteredData.setPredicate(files -> {             // If filter text is empty, display all files.             if (newValue == null || newValue.isEmpty()) {                 return true;             }              String lowerCaseFilter = newValue.toLowerCase();             if (files.getFileSubject().toLowerCase().indexOf(lowerCaseFilter) != -1) {                 return true; // Filter matches Subject.             }                 else if (files.getFileDate().toLowerCase().indexOf(lowerCaseFilter) != -1) {                 return true; // Filter matches last name.             }             return false; // Does not match.         });     });      // 3. Wrap the FilteredList in a SortedList.      SortedList<FileModel> sortedData = new SortedList<>(filteredData);      // 4. Bind the SortedList comparator to the TableView comparator.     sortedData.comparatorProperty().bind(fileTable.comparatorProperty());      // 5. Add sorted (and filtered) data to the table.      fileTable.setItems(sortedData); } 

那就是我删除记录的方式:

@FXML private void deleteFile() {     int selectedIndex = fileTable.getSelectionModel().getSelectedIndex();     if (selectedIndex >= 0) {         fileTable.getItems().remove(selectedIndex);     } else {         // Nothing selected.         Alert alert = new Alert(AlertType.WARNING);         alert.initOwner(mainApp.getPrimaryStage());         alert.setTitle("No Selection");         alert.showAndWait();     } }  

但是它给出了java.lang.UnsupportedOperationException错误。我在示例项目中做了同样的事情,一切顺利。那么,如何解决此问题?

参考方案

从基础列表而不是过滤/排序列表中删除数据:

FileModel selectedItem = fileTable.getSelectionModel().getSelectedItem(); if (selectedItem != null) {     mainApp.getFileData().remove(selectedItem); } 

java.lang.ArrayIndexOutOfBoundsException:使用并行流将元素添加到List时 – java

我正在努力优化csv文件的某些处理,因此试图加速某些Jackson的实现。所以我有:List<T> testResults=new ArrayList(); Stream<T> testStream= Streams.stream(TestIterator); testStream.parallel().forEach(p->t…

Java:线程主java.lang.NoClassDefFoundError中的异常 – java

我正在尝试使Red5 Flash Media Server在我的计算机上工作。我已经安装了它,但是在运行服务器时出现此错误:- Exception in thread "main" java.lang.NoClassDefFoundError: org/red5/server/Bootstrap Caused by: java.lang.…

不兼容的类型:java.lang.Object无法转换为T – java

这是我的代码:package datastructures; import java.util.Iterator; public class Stack<T>{ private class Node<T>{ T data; Node next; } private int size; private Node head; privat…

无法解析类型java.lang.CharSequence。从所需的.class文件间接引用它 – java

尝试从GitHub编译某些项目时,遇到以下错误The type java.lang.CharSequence cannot be resolved. It is indirectly referenced from required .class files 如果我没有记错的话,这是来自基本JDK的课程。怎么会无法到达? 参考方案 如上面@ hajo-the…

Java:线程池如何将线程映射到可运行对象 – java

试图绕过Java并发问题,并且很难理解线程池,线程以及它们正在执行的可运行“任务”之间的关系。如果我创建一个有10个线程的线程池,那么我是否必须将相同的任务传递给池中的每个线程,或者池化的线程实际上只是与任务无关的“工人无人机”可用于执行任何任务?无论哪种方式,Executor / ExecutorService如何将正确的任务分配给正确的线程? 参考方案 …

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » java.lang.UnsupportedOperationException,用于从javafx tableview中删除一行 – java程序员分享
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们