public DictionaryMainWindow() {
		needDictionary = new Vector<>();
		initialize();
		
		table.setModel(model);
		
		JPopupMenu popupMenu = new JPopupMenu();
		addPopup(table, popupMenu);
		
		JMenuItem mntmNewEntryRightClick = new JMenuItem(Localization.getInstance().get("newEntry"));
		mntmNewEntryRightClick.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				EditEntryWindow window = new EditEntryWindow(dic);
				window.setVisible(true);
			}
		});
		popupMenu.add(mntmNewEntryRightClick);
		needDictionary.add(mntmNewEntryRightClick);
		
		JMenuItem mntmEditSelectedRightClick = new JMenuItem(Localization.getInstance().get("editEntrySelected"));
		mntmEditSelectedRightClick.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				editSelected();
			}
		});
		popupMenu.add(mntmEditSelectedRightClick);
		needDictionary.add(mntmEditSelectedRightClick);
		
		JMenuItem mntnDeleteRightClick = new JMenuItem(Localization.getInstance().get("deleteEntrySelected"));
		mntnDeleteRightClick.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				deleteSelected();
			}
		});
		popupMenu.add(mntnDeleteRightClick);
		needDictionary.add(mntnDeleteRightClick);
		
		setComponentEnabled(false);
		setStatus(Localization.getInstance().get("statusTextWelcome"), false);
		
		if (Settings.getPreferences().getBoolean("useLast", false)) {
			try {
				setStatus(Localization.getInstance().get("pStatLoading"), true);
				File lastDic = new File(Settings.getPreferences().get("lastFile", null));
				if (lastDic.exists()) {
					Dictionary dic = Dictionary.createFromFile(lastDic);
					frmDictionaryEditor.setTitle(Localization.getInstance().get("mainWindowTitle") + ": " + dic.getName());
					defaultFile = new File(Settings.getPreferences().get("lastFile", null));
					setDictionary(dic);
					changed = false;
					setStatus(Localization.getInstance().get("statusTextFileLoaded"),false);
				}
			} catch(Exception e){
				showError(Localization.getInstance().get("dictionaryLoadError"), e);
			}
		}
	}