public static void chooseLoad(Component c){
		final JFileChooser fc = new JFileChooser();
		FileFilter filter = new ExtensionFileFilter("Nightmare Level File (*.nml)", new String[] {"nml"});
		fc.setFileFilter(filter);
		int returnVal = fc.showOpenDialog(c);
		if (returnVal == JFileChooser.APPROVE_OPTION){
			String fPath = fc.getSelectedFile().getAbsolutePath();
			if (!fPath.endsWith(".nml"))
				fPath += ".nml";
			f = new File(fPath);

			InputStream fis;
			BufferedReader br;
			String line;
			try {
				fis = new FileInputStream(f);
				br = new BufferedReader(new InputStreamReader(fis, Charset.forName("UTF-8")));
				while ((line = br.readLine()) != null) {
					if (line.startsWith("f ")){
						String[] el = line.split(" ");
						platforms.add(new Rectangle(Integer.parseInt(el[1]),
								Integer.parseInt(el[2]),
								Integer.parseInt(el[3]),
								Integer.parseInt(el[4])));
					}
					else if (line.startsWith("e ")){
						String[] el = line.split(" ");
						entities.add(new Entity(Integer.parseInt(el[2]),
								Integer.parseInt(el[3]),
								el[1]));
					}
					else if (line.startsWith("p ")){
						String[] el = line.split(" ");
						character.x = Integer.parseInt(el[1]);
						character.y = Integer.parseInt(el[2]);
					}
					else if (line.startsWith("#")){}
					else {
						GameManager.state = State.LOAD_FAIL;
						break;
					}
				}
				br.close();
			}
			catch (Exception ex){
				ex.printStackTrace();
				GameManager.state = State.LOAD_FAIL;
			}
			br = null;
			fis = null;
		}
		//TODO: Handle cancellation
	}