!7 module PossibleLogFiles > DynObjectTable { start { //itemToMap = itemToMap_fullFilePath("Log File"); fS home = addSlash(userHome()); itemToMap = func(File f) -> Map { litorderedmap( "Log File" := dropPrefix(home, f.getPath()), "Size" := toK(fileSize(f)) + " K", "Changed" := renderHowLongAgo(f.lastModified()), "Last Line" := simplifyLogLineForDisplay(lastLineOfFile(f))) }; updateYo(); doEvery(10.0, r updateTable); } afterVisualize { swing { TableRowSorter sorter = new(table.getModel()); sorter.setSortKeys(ll(new RowSorter.SortKey(2, SortOrder.DESCENDING))); table.setRowSorter(sorter); //table.setAutoCreateRowSorter(true); setTableModel_after.put(table, voidfunc(JTable table) { TableRowSorter sorter = cast table.getRowSorter(); if (sorter != null) { sorter.setComparator(1, alphaNumComparator()); sorter.setComparator(2, howLongAgo_comparator()); print("Set comparators"); } }); //print("Made sorter: " + sorter); } } void updateYo() { setData(findProbableQuotedLogs()); } }