public JScrollPane generateTable()
	{
		
		String[] columnNames = {"Location", "Size", "Empty"};
		JTable tempTable = new JTable();
		
		@SuppressWarnings("serial")
		DefaultTableModel tableModel = new DefaultTableModel(manager.generateData(), columnNames) {
			
			@Override
			public boolean isCellEditable(int row, int column)
			{
				if (column==2) return true;
				
				return false;
			}
			
		}; 
		
		tempTable.setModel(tableModel);
		
		tableControl = new TableController(tempTable);
		tempTable.getSelectionModel().addListSelectionListener(tableControl);
		tempTable.getColumnModel().getSelectionModel().addListSelectionListener(tableControl);
		
		tempTable.setFillsViewportHeight(true);
		
		// double click event
		tempTable.addMouseListener(new MouseAdapter() {
			public void mouseClicked(MouseEvent e)
			{
				if (e.getClickCount() == 2) {
					JTable table = (JTable) e.getSource();
					int row = table.getSelectedRow();
					
					FileOrFolderInterface selected = (FileOrFolderInterface) table.getValueAt(row, 0);
					
					if (selected.canBeOpened()) {
						new FileDetailUI(selected);	
					}
				}					
			}
		});
		
		JScrollPane scrollPane = new JScrollPane(tempTable);
		scrollPane.setSize(450, 690);
		scrollPane.setLocation(30, 85);
		
		tempTable.getColumnModel().getColumn(0).setPreferredWidth(290);
		tempTable.getColumnModel().getColumn(1).setPreferredWidth(90);
		tempTable.getColumnModel().getColumn(2).setPreferredWidth(70);
		
		return scrollPane;
	}