Bug 45033 Usability: Code Formatter Preferences Page Resizes Poorly
Eclipse 3.0 M4 This is just a single example of a common UI problem that exists in a wide variety of places in Eclipse, not just JDT. If you're going to allow a dialog/window to be resized (which I think you should), then some careful thought needs to go into how the widgets resize. Look at the preferences page for the JDT's Code Formatter and you'll see that when the dialog is resized the (really useful) preview text widget does not stretch and consume the remaining whitespace. Take a look at the screen shot of the dialog in various sizes to see what I mean.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/formatter/LineWrappingTabPage.java
);
	
	private final Category fTypeDeclarationSuperinterfacesCategory= new Category(
	    DefaultCodeFormatterConstants.FORMATTER_ALIGNMENT_FOR_SUPERINTERFACES_IN_TYPE_DECLARATION,
	    "class Example implements I1, I2, I3 {}", 
	    FormatterMessages.getString("LineWrappingTabPage.implements_clause") 
	);
	
	
	private final Category fConstructorDeclarationsParametersCategory= new Category(
	    DefaultCodeFormatterConstants.FORMATTER_ALIGNMENT_FOR_PARAMETERS_IN_CONSTRUCTOR_DECLARATION,
	    "class Example {Example(int arg1, int arg2, int arg3, int arg4, int arg5, int arg6) { this();}" + 
	    "Example() {}}", 
	    FormatterMessages.getString("LineWrappingTabPage.parameters") 
	); 
	private final Category fMethodDeclarationsParametersCategory= new Category(
	    DefaultCodeFormatterConstants.FORMATTER_ALIGNMENT_FOR_PARAMETERS_IN_METHOD_DECLARATION,
	    "class Example {void foo(int arg1, int arg2, int arg3, int arg4, int arg5, int arg6) {}}", 
	    FormatterMessages.getString("LineWrappingTabPage.parameters") 
	); 
	
	private final Category fMessageSendArgumentsCategory= new Category(
	    DefaultCodeFormatterConstants.FORMATTER_ALIGNMENT_FOR_ARGUMENTS_IN_METHOD_INVOCATION,
	    "class Example {void foo() {Other.bar( 100, 200, 300, 400, 500, 600, 700, 800, 900 );}}", 
	    FormatterMessages.getString("LineWrappingTabPage.arguments") 
	); 
	private final Category fMessageSendSelectorCategory= new Category(
	    DefaultCodeFormatterConstants.FORMATTER_ALIGNMENT_FOR_SELECTOR_IN_METHOD_INVOCATION,
	    "class Example {int foo(Some a) {return a.getFirst();}}", 
	    FormatterMessages.getString("LineWrappingTabPage.qualified_invocations")