public void start() {
		Winkel winkel = new Winkel();

		WinkelDatabaseHandler dbhandler = null;
		String fileString = JOptionPane.showInputDialog("Waar vinden we uw db-file?");

		try {
			dbhandler = new WinkelDatabaseHandler(fileString, winkel);
		} catch (DbException e1) {
			//TODO: Display message.
		}

		if (fileString != null) {
			
			LeesStrategyType type = (LeesStrategyType) JOptionPane.showInputDialog(null, "Welke opslagmethode?", "Opslagmethode", JOptionPane.QUESTION_MESSAGE, null, LeesStrategyType.values(), null);

			if (type.equals(LeesStrategyType.TEKST)) {
				dbhandler.setWinkelDatabaseLezer(new WinkelDatabaseTekstLezer(dbhandler));
			} else if (type.equals(LeesStrategyType.XML)) {
				dbhandler.setWinkelDatabaseLezer(new WinkelDatabaseXMLLezer(dbhandler));
			}

			try {
				dbhandler.lees();
			} catch (Exception e) {
				//TODO: Display message
			}
		}


		String menu = MENU;
		int choice = -1;
		while (choice != 0) {
			String choiceString = JOptionPane.showInputDialog(menu);
			// if you pressed cancel or close...
			if (choiceString == null) {
				choice = 0;
			} else {
				try{
					choice = Integer.parseInt(choiceString);
					if (choice == 1) {
						addItem(winkel);
					} else if (choice == 2) {
						showItem(winkel);
					} else if (choice == 3) {
						showItems(winkel);
					} else if (choice == 4) {
						showPrice(winkel);
					} else if (choice == 5) {
						rentProduct(winkel);
					} else if (choice == 6) {
						returnProduct(winkel);
					} else if (choice == 7) {
						repairProduct(winkel);
					}
				}catch(NumberFormatException e){
					JOptionPane.showMessageDialog(null, "Please enter the number of your choice.");
				}

			}
		}
		
		SchrijfStrategyType type = (SchrijfStrategyType) JOptionPane.showInputDialog(null, "Welke opslagmethode?", "Opslagmethode", JOptionPane.QUESTION_MESSAGE, null, SchrijfStrategyType.values(), null);

		if (type.equals(SchrijfStrategyType.TEKST)) {
			dbhandler.setWinkelDatabaseSchrijver(new WinkelDatabaseTekstSchrijver(dbhandler));
		} else if (type.equals(SchrijfStrategyType.XML)) {
			dbhandler.setWinkelDatabaseSchrijver(new WinkelDatabaseXMLSchrijver(dbhandler));
		}

		try {
			dbhandler.schrijf();
		} catch (Exception e) {
			//TODO: Display message
		}
	}