private void initVehiclePanel() {
		Object[] columnNames = { "Name", "Initial Location",
				"Remaining Capacity", "Available At" };
		Object[][] data = { { vehicle.getName(),
				vehicle.getInitialLocation(),
				vehicle.getRemainingCapacity(), vehicle.getAvailableIn() } };
		vehicleTableModel = new DefaultTableModel(data, columnNames);
		vehicleTableModel.addTableModelListener(this);
		vehicleTable = new JTable(vehicleTableModel) {

			private static final long serialVersionUID = 1L;

			/*
			 * @Override public Class getColumnClass(int column) { return
			 * getValueAt(0, column).getClass(); }
			 */
			@SuppressWarnings({ "unchecked", "rawtypes" })
			@Override
			public Class getColumnClass(int column) {
				switch (column) {
				case 0:
					return String.class;
				case 1:
					return String.class;
				default:
					return Integer.class;
				}
			}

			// Select all contents of the cell without overriding cell
			// validation
			@Override
			public Component prepareEditor(TableCellEditor editor, int row,
					int column) {
				Component c = super.prepareEditor(editor, row, column);
				if (c instanceof JTextComponent) {
					final JTextComponent jtc = (JTextComponent) c;
					jtc.requestFocus();
					SwingUtilities.invokeLater(new Runnable() {
						public void run() {
							jtc.selectAll();
						}
					});
				}
				return c;
			}
		};
		vehicleTable.setRowHeight(25);
		vehicleTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
		vehicleTable.getTableHeader().setReorderingAllowed(false);

		comboBoxModel = new DefaultComboBoxModel<Location>(
				new Vector<Location>(controller.getLocations()));

		for (int i = 0; i < columnNames.length; i++) {
			TableColumn col = vehicleTable.getColumnModel().getColumn(i);
			if (i == LOCATION_COLUMN_INDEX) {
				JComboBox<Location> locCombo = new JComboBox<Location>(
						comboBoxModel);
				col.setCellEditor(new DefaultCellEditor(locCombo));
			}
		}
		
		JPanel northPanel = new JPanel(new BorderLayout());
		northPanel.add(vehicleTable.getTableHeader(), BorderLayout.NORTH);
		northPanel.add(vehicleTable, BorderLayout.CENTER);
		add(northPanel, BorderLayout.NORTH);
	}