public void actionPerformed(ActionEvent e) {

		String command = e.getActionCommand();

		if ("JavacLocation.Browse".equals(command)) {
			handleBrowseForJavac();
			return;
		}

		else if ("SourceOutputDir.Browse".equals(command)) {
			if (dirChooser == null) {
				dirChooser = new RDirectoryChooser(getOptionsDialog());
			}
			dirChooser.setChosenDirectory(new File(sourceDirField.getText()));
		}

		else if ("ClassOutputDir.Browse".equals(command)) {
			if (dirChooser == null) {
				dirChooser = new RDirectoryChooser(getOptionsDialog());
			}
			dirChooser.setChosenDirectory(new File(classDirField.getText()));
		}

		dirChooser.setLocationRelativeTo(getOptionsDialog());
		dirChooser.setVisible(true);
		String dir = dirChooser.getChosenDirectory();

		if (dir != null) {
			FSATextField field = "SourceOutputDir.Browse".equals(command) ?
					sourceDirField : classDirField;
			field.setFileSystemAware(false);
			field.setText(dir);
			field.setFileSystemAware(true);
		}

	}