Bug 17885 Preference Pages don't resize well
Build: 20020521 The Java preference pages don't look very good when the user makes the preference page dialog narrower or shorter by manually resizing it. Here is a breakdown of problems by page: Builder: "Filtered resources" text field should shrink to fit the dialog width more. Classpath Variables: List box should shrink to fit and should scroll if necessary. Code Formatter: Text box should shrink to fit and should scroll if necessary (the scroll bars are there, why aren't they used?). Step Filtering: List box should shrink horizontally to fit and should scroll if necessary (compare vertical and horizontal behaviour when shrinking the preference page dialog). Editor: In the Syntax tab page, the "Preview" text box should shrink to fit and scroll if necessary. Installed JREs: The table viewer should shrink to fit and scroll if necessary. Javadoc: The "Javadoc command" text field should shrink to fit more. Organize Imports: The list box should shrink to fit and scroll if necessary. Templates: The table viewer should shrink to fit and scroll if necessary.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/JavadocConfigurationBlock.java
private Button fValidateButton;
	private IJavaElement fElem;
	private Shell fShell;
	private IStatusChangeListener fContext;
	private URL fJavaDocLocation;
	
	public JavadocConfigurationBlock(IJavaElement element, Shell shell,  IStatusChangeListener context) {
		fShell= shell;
		fElem= element;	
		fContext= context;	
	}
	
	public Control createContents(Composite parent) {
		final Composite topComp= new Composite(parent, SWT.NONE);
		GridLayout topLayout= new GridLayout();
		topLayout.numColumns= 3;
		topLayout.marginWidth= 0;
		topLayout.marginHeight= 0;
		topComp.setLayout(topLayout);
		if (fElem == null) {
			return topComp;
		}
		JDocConfigurationAdapter adapter= new JDocConfigurationAdapter();
		fJavaDocField= new StringButtonDialogField(adapter);
		fJavaDocField.setDialogFieldListener(adapter);
		fJavaDocField.setLabelText(JavaUIMessages.getString("JavadocConfigurationBlock.location.label")); 
		fJavaDocField.setButtonLabel(JavaUIMessages.getString("JavadocConfigurationBlock.location.button")); 
		fJavaDocField.doFillIntoGrid(topComp, 3);
		PixelConverter converter= new PixelConverter(topComp);
		LayoutUtil.setWidthHint(fJavaDocField.getTextControl(null), converter.convertWidthInCharsToPixels(40));