Search code examples
javaswingfileabstracttablemodel

AbstractTableModel doesnt return drive names


I am trying to create system file browser with starting in drive directory.

public class FileSystemTableModel extends AbstractTableModel implements
    Constants {

private File currentDircetory;
private File[] files;

@Override
public Object getValueAt(int arg0, int arg1) {
    switch (arg1) {
    case 0:
        return files[arg0].getName();
    case 1:
        return files[arg0].length();
    case 2:
        return new Date(files[arg0].lastModified());
    }
    return arg1;    
}

Setting values through

      public class Window {



static class MyFrame extends JFrame implements Constants {
    MyFrame() throws HeadlessException {


  FileSystemTableModel model = new FileSystemTableModel();
  model.setFiles(File.listRoots());
  JTable table = new JTable(model);

Here is my result screen; How can i display drive names??

The result


Solution

  • This will solve you problem files[arg0].toString() for case 0

    @Override
    public Object getValueAt(int arg0, int arg1) {
        switch (arg1) {
            case 0:
                return files[arg0].toString();
            case 1:
                return files[arg0].length();
            case 2:
                return new Date(files[arg0].lastModified());
        }
        return arg1;
    }