public void verifyAndSave() {
			startButton.setEnabled(false);
			prefs.put("pngDir", pngDir.getText());
			prefs.put("outFile", outFile.getText());
			prefs.put("xSize", xSizeField.getText());
			prefs.put("ySize", ySizeField.getText());
			prefs.putInt("fps", ((Number)frameRateField.getValue()).intValue());
			
			
			prefs.put("title", titleField.getText());
			prefs.put("description", descriptionField.getText());
			prefs.put("author", authorField.getText());
			prefs.put("email", emailField.getText());
			prefs.put("url", urlField.getText());
			
			prefs.putBoolean("gzip", gzipCheckBox.isSelected());
			
			if (!new File(pngDir.getText()).isDirectory()) {
				statusLine.setText("Source Directory isn't a directory.");
				return;
			}
			
			File outFileParent = new File(outFile.getText()).getAbsoluteFile().getParentFile();
			File out = new File(outFile.getText());
			
			if (outFileParent == null || out.isDirectory() || !outFileParent.exists()) {
				statusLine.setText("Output directory is invalid");
				return;
			}
			
			
			try {
				int xSize = Integer.parseInt(xSizeField.getText());
				if (xSize < 1) {
					statusLine.setText("Width must be positive.");
					return;
				}
			} catch (NumberFormatException e) {
				statusLine.setText("Width must be an integer.");
				return;
			}

			try {
				int ySize = Integer.parseInt(ySizeField.getText());
				if (ySize < 1) {
					statusLine.setText("Height must be positive.");
					return;
				}
			} catch (NumberFormatException e) {
				statusLine.setText("Height must be an integer.");
				return;
			}		
			
			statusLine.setText(version);
			startButton.setEnabled(true);
		}