我的程序中有一个自定义的JFileChooser
。显示调用JFileChooser
详细信息视图,其中文件按降序日期排序。
直到Java 8,文件的排序运行没有问题。从2周开始,我们就拥有了Java 9,因为我们需要一些新的功能。在Java 9下,JFileChooser
排序不再运行。
守则如下:
public class JFileChooserCustom extends JFileChooser {
....
....
JTable fileChoosertable = SwingUtils.getDescendantsOfType(JTable.class, this).get(0);
TableColumn column3 = fileChoosertable.getColumnModel().getColumn(3);
column3.setPreferredWidth(120);
fileChoosertable.getRowSorter().toggleSortOrder(3);
fileChoosertable.getRowSorter().toggleSortOrder(3);
....
我两次调用toggledSortOrder
,文件将按降序日期排序。
由于日期列上的Java 9 toggleSortOrder
无效。我试图实现自己的roworter但它导致了许多副作用。因此,排序后,选择了错误的文件。实现了一个新的鼠标监听器,它将选定的行数转换为表模型的行号,但产生了新的副作用。
有没有人知道解决方案?