Bug 16938 DCR: Class File Editor should scroll more naturally
20020521 (F1) (This may not be a debug PR - I wasn't sure). - put a breakpoint in a java file, right before a System.out.println statement - debug to the breakpoint - step in to the println call (I happened to go in to StringBuffer first - all that matters is that you do not have the source for the class you just stepped into) - a Class File Editor opens - click on the scrollbar's down arrow Problem: the editor only scrolls one pixel at a time. It should scroll one line at a time when you click on the arrows. - click on the scrollbar's background to scroll a page at a time Problem: the editor only scrolls about a line at a time when it should be scrolling a page at a time. Grabbing the thumb and scrolling with that works well. So the workaround, if the user wants to scroll through the Class File editor, is to always use the thumb.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/ClassFileEditor.java
return (IPackageFragmentRoot) element;		
			}
			
			/**
			 * Creates the control of the source attachment form.
			 */
			public Control createControl(Composite parent) {
		
				Display display= parent.getDisplay();
				fBackgroundColor= display.getSystemColor(SWT.COLOR_LIST_BACKGROUND);
				fForegroundColor= display.getSystemColor(SWT.COLOR_LIST_FOREGROUND);
				fSeparatorColor= new Color(display, 152, 170, 203);
		
				JFaceResources.getFontRegistry().addListener(this);
		
				fScrolledComposite= new ScrolledComposite(parent, SWT.H_SCROLL | SWT.V_SCROLL);
				fScrolledComposite.setAlwaysShowScrollBars(false);
				fScrolledComposite.setExpandHorizontal(true);
				fScrolledComposite.setExpandVertical(true);
				fScrolledComposite.addDisposeListener(new DisposeListener() {
					public void widgetDisposed(DisposeEvent e) {
						JFaceResources.getFontRegistry().removeListener(SourceAttachmentForm.this);
						fScrolledComposite= null;
						fSeparatorColor.dispose();
						fSeparatorColor= null;				
						fBannerLabels.clear();
						fHeaderLabels.clear();
						if (fFont != null) {
							fFont.dispose();
							fFont= null;