Mega Code Archive

 
Categories / Java / Swing JFC
 

A JTable class using default table models and a convenience constructor

//A test of the JTable class using default table models and a convenience //constructor. Resizing and selection defaults are altered. // import java.awt.BorderLayout; import java.io.File; import java.util.Date; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTable; public class TableFeature extends JFrame {   String titles[] = new String[] { "Directory?", "File Name", "Read?",       "Write?", "Size", "Last Modified" };   public TableFeature() {     super("Simple JTable Test");     setSize(300, 200);     setDefaultCloseOperation(EXIT_ON_CLOSE);     File pwd = new File(".");     Object[][] stats = getFileStats(pwd);     JTable jt = new JTable(stats, titles);     jt.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);     jt.setColumnSelectionAllowed(true);     JScrollPane jsp = new JScrollPane(jt);     getContentPane().add(jsp, BorderLayout.CENTER);   }   public Object[][] getFileStats(File dir) {     String files[] = dir.list();     Object[][] results = new Object[files.length][titles.length];     for (int i = 0; i < files.length; i++) {       File tmp = new File(files[i]);       results[i][0] = new Boolean(tmp.isDirectory());       results[i][1] = tmp.getName();       results[i][2] = new Boolean(tmp.canRead());       results[i][3] = new Boolean(tmp.canWrite());       results[i][4] = new Long(tmp.length());       results[i][5] = new Date(tmp.lastModified());     }     return results;   }   public static void main(String args[]) {     TableFeature tf = new TableFeature();     tf.setVisible(true);   } }