public void init() {
		System.out.println("Loading init file: " + Constants.INIT_FILE_NAME);
		
		if(initFile != null && initFile.isFile()) {
			try {
				FileInputStream in = new FileInputStream(initFile);
				InputStreamReader isr = new InputStreamReader(in);
				BufferedReader br = new BufferedReader(isr);
				
				int r, g, b;
				
				String line = br.readLine();
				while(line != null) {
					if(!line.trim().equals("")) {
						if(line.startsWith("CurrentProj")) {
							line = line.split("=")[1];
							if(!line.equals("None")) {
								projFile = new File(line);
								if(!projFile.isFile()) projFile = null;
							} else projFile = null;
							
						} else if(line.startsWith("TableWidth")) {
							Constants.TABLE_WIDTH = StringUtil.getIntegerFromSplitPos(line, "=", 1);
							
						} else if(line.startsWith("TableHeight")) {
							Constants.TABLE_HEIGHT = StringUtil.getIntegerFromSplitPos(line, "=", 1);
							
						} else if(line.startsWith("TableSpeed")) {
							Constants.TABLE_SPEED = StringUtil.getIntegerFromSplitPos(line, "=", 1);
							
						} else if(line.startsWith("TableColor")) {
							line = line.split("=")[1];
							String[] colors = line.split(" ");
							r = Integer.parseInt(colors[0]);
							g = Integer.parseInt(colors[1]);
							b = Integer.parseInt(colors[2]);
							Constants.TABLE_COLOR = new Color(r, g, b);
							
						} else if(line.startsWith("ProjViewWidth")) {
							Constants.PROJ_VIEW_WIDTH = StringUtil.getIntegerFromSplitPos(line, "=", 1);
							
						} else if(line.startsWith("ProjViewHeight")) {
							Constants.PROJ_VIEW_HEIGHT = StringUtil.getIntegerFromSplitPos(line, "=", 1);
							
						} else if(line.startsWith("ProjViewBackColor")) {
							line = line.split("=")[1];
							String[] colors = line.split(" ");
							r = Integer.parseInt(colors[0]);
							g = Integer.parseInt(colors[1]);
							b = Integer.parseInt(colors[2]);
							Constants.PROJ_VIEW_BACK_COLOR = new Color(r, g, b);
							
						} else if(line.startsWith("Background")) {
							line = line.split("=")[1];
							String[] colors = line.split(" ");
							r = Integer.parseInt(colors[0]);
							g = Integer.parseInt(colors[1]);
							b = Integer.parseInt(colors[2]);
							Constants.BACKGROUND = new Color(r, g, b);
							
						} else if(line.startsWith("DarkBackground")) {
							line = line.split("=")[1];
							String[] colors = line.split(" ");
							r = Integer.parseInt(colors[0]);
							g = Integer.parseInt(colors[1]);
							b = Integer.parseInt(colors[2]);
							Constants.DARK_BACKGROUND = new Color(r, g, b);
							
						} else if(line.startsWith("FontColor")) {
							line = line.split("=")[1];
							String[] colors = line.split(" ");
							r = Integer.parseInt(colors[0]);
							g = Integer.parseInt(colors[1]);
							b = Integer.parseInt(colors[2]);
							Constants.FONT_COLOR = new Color(r, g, b);
							
						} else if(line.startsWith("FrameWidth")) {
							Constants.WIDTH = StringUtil.getIntegerFromSplitPos(line, "=", 1);
							
						} else if(line.startsWith("FrameHeight")) {
							Constants.HEIGHT = StringUtil.getIntegerFromSplitPos(line, "=", 1);
							
						} else if(line.startsWith("Maximized")) {
							line = line.split("=")[1];
							if(line.equals("true")) Constants.MAXIMIZED = true;
							else Constants.MAXIMIZED = false;
							
						} else if(line.startsWith("ShowAdditionalInfo")) {
							line = line.split("=")[1];
							if(line.equals("true")) Constants.SHOW_ADDITIONAL_INFO = true;
							else Constants.SHOW_ADDITIONAL_INFO = false;
							
						} else if(line.startsWith("TableImage")) {
							line = line.split("=")[1];
							File imgFile = new File(line);
							if(imgFile.isFile()) {
								ProjectView.TABLE_IMAGE_LOC = imgFile.getAbsolutePath();
								ProjectView.TABLE_IMAGE = Util.getImage(imgFile);
							}
							
						} else {
							System.out.println("Unknown line in init file!");
						}
					}
					line = br.readLine();
				}
				br.close();
				isr.close();
				in.close();
			} catch (FileNotFoundException e) {
				e.printStackTrace();
				System.err.println("Init file not found!");
			} catch(IOException e) {
				e.printStackTrace();
			}
		} else {
			saveInitFile();
		}
	}