Bug 5765 New Class button in empty workspace should be more supportive
User feedback: "Confused how to create my first project" We should be more supportive in the UI for this special case since it is a first time experience with the UI. Therefore when the workbench is empty we should offer to create a new Java project. Minimal solution is to show an info dialog that explains that user should create a project first and offer a button to open the Java project wizard. The same is true for the new package and new interface buttons.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/wizards/ContainerPage.java
import org.eclipse.jdt.ui.JavaElementLabelProvider;
import org.eclipse.jdt.internal.ui.JavaPlugin;
import org.eclipse.jdt.internal.ui.dialogs.ElementTreeSelectionDialog;
import org.eclipse.jdt.internal.ui.dialogs.ISelectionValidator;
import org.eclipse.jdt.internal.ui.dialogs.StatusInfo;
import org.eclipse.jdt.internal.ui.util.JavaModelUtil;
import org.eclipse.jdt.internal.ui.viewsupport.JavaElementSorter;
import org.eclipse.jdt.internal.ui.wizards.dialogfields.DialogField;
import org.eclipse.jdt.internal.ui.wizards.dialogfields.IDialogFieldListener;
import org.eclipse.jdt.internal.ui.wizards.dialogfields.IStringButtonAdapter;
import org.eclipse.jdt.internal.ui.wizards.dialogfields.StringButtonDialogField;
public abstract class ContainerPage extends NewElementWizardPage {
	
	/**
	 * container field id
	 */
	protected static final String CONTAINER= "ContainerPage.container"; 
	/**
	 * Status of last validation
	 */
	protected IStatus fContainerStatus;
	private StringButtonDialogField fContainerDialogField;
	
	/*
	 * package fragment root corresponding to the input type (can be null)
	 */
	private IPackageFragmentRoot fCurrRoot;
	
	private IWorkspaceRoot fWorkspaceRoot;