public Hangman(){
		level = 1;
		JFileChooser chooser = new JFileChooser();
	    chooser.setDialogTitle("Open vocabulary list");
	    chooser.showOpenDialog(null);
    	File file = chooser.getSelectedFile();
	    if (file == null){return;}
		try{
			ObjectInputStream in=new ObjectInputStream(new FileInputStream(file));
			newlist = (List<Word>)in.readObject();
		}catch(Exception e){
			JOptionPane.showMessageDialog(null, "Error loading file!");
			e.printStackTrace();
		}
		
		frame = new JFrame("Hangman");
		JPanel panel = new JPanel();
		frame.add(panel);
		
		BufferedImage myPicture = null;
		try {
			if (!iidenki.IS_JAR) {myPicture = ImageIO.read(new File("hangman1.gif"));}
			if (iidenki.IS_JAR) {myPicture = ImageIO.read(this.getClass().getResource("/" + "hangman1.gif"));}
		} catch (IOException e) {
			e.printStackTrace();
		}
		icon = new ImageIcon(myPicture);
		picLabel = new JLabel(icon);
		panel.add(picLabel);
		
		JPanel sidepanel = new JPanel();
		sidepanel.setLayout(new GridLayout(4,1));
		panel.add(sidepanel);
		
		gh = new GameHandler(newlist);
		JLabel wrongfield = new JLabel();
		JLabel partial = new JLabel();
		partial.setFont(FontManager.getKanjiFont(partial.getFont()));
		
		ifi = new InputField(gh, wrongfield, partial, this);
		sidepanel.add(new JLabel("Please input one kana for your guess"));
		sidepanel.add(partial);
		sidepanel.add(ifi);
		sidepanel.add(wrongfield);
		
		frame.pack();
		frame.setLocationRelativeTo(null);
		frame.setVisible(true);
	}