void setTableStatusHint() { if (browseTree.getSelectionPath() == null) { return; } if (!(browseTree.getSelectionPath().getLastPathComponent() instanceof FileSystemEntry)) return; FileSystemEntry fse = ((FileSystemEntry) browseTree.getSelectionPath().getLastPathComponent()); int[] selected = filesTable.getSelectedRows(); if (selected == null || selected.length == 0) { if (fse.getFiles() != null) frame.setStatusHint( "Directories: " + fse.getChildCount() + ", Files: " + fse.getFiles().size() + ", Total size: " + Util.niceSize(fse.getSize())); } else { long size = 0; int dirs = 0; int files = 0; for (int i : selected) { FileSystemEntry current = fs.getEntryForRow(filesTable.convertRowIndexToModel(i)); size += current.getSize(); if (current.isDirectory()) dirs++; else files++; } frame.setStatusHint( "(selection) Directories: " + dirs + ", Files: " + files + ", Total size: " + Util.niceSize(size)); } }