src/share/classes/javax/swing/JViewport.java

Print this page

        

*** 1,7 **** /* ! * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this --- 1,7 ---- /* ! * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this
*** 23,48 **** * questions. */ package javax.swing; - import sun.swing.JLightweightFrame; - import java.awt.*; import java.awt.event.*; import java.awt.peer.ComponentPeer; import java.beans.Transient; import javax.swing.plaf.ViewportUI; import javax.swing.event.*; import javax.swing.border.*; import javax.accessibility.*; - import java.io.Serializable; - /** * The "viewport" or "porthole" through which you see the underlying * information. When you scroll, what moves is the viewport. It is like * peering through a camera's viewfinder. Moving the viewfinder upwards * brings new things into view at the top of the picture and loses --- 23,44 ----
*** 361,382 **** public void remove(Component child) { child.removeComponentListener(viewListener); super.remove(child); } - @Override - public void addNotify() { - super.addNotify(); - // JLightweightFrame does not support BLIT_SCROLL_MODE, so it should be replaced - Window rootWindow = SwingUtilities.getWindowAncestor(this); - if (rootWindow instanceof JLightweightFrame - && getScrollMode() == BLIT_SCROLL_MODE) { - setScrollMode(BACKINGSTORE_SCROLL_MODE); - } - } - - /** * Scrolls the view so that <code>Rectangle</code> * within the view becomes visible. * <p> * This attempts to validate the view before scrolling if the --- 357,366 ----
*** 1106,1122 **** rm.beginPaint(); try { Graphics g = JComponent.safelyGetGraphics(this); flushViewDirtyRegion(g, dirty); view.setLocation(newX, newY); ! g.setClip(0,0,getWidth(), Math.min(getHeight(), ! jview.getHeight())); // Repaint the complete component if the blit succeeded // and needsRepaintAfterBlit returns true. repaintAll = (windowBlitPaint(g) && needsRepaintAfterBlit()); g.dispose(); rm.markCompletelyClean((JComponent)getParent()); rm.markCompletelyClean(this); rm.markCompletelyClean(jview); } finally { rm.endPaint(); --- 1090,1108 ---- rm.beginPaint(); try { Graphics g = JComponent.safelyGetGraphics(this); flushViewDirtyRegion(g, dirty); view.setLocation(newX, newY); ! Rectangle r = new Rectangle( ! 0, 0, getWidth(), Math.min(getHeight(), jview.getHeight())); ! g.setClip(r); // Repaint the complete component if the blit succeeded // and needsRepaintAfterBlit returns true. repaintAll = (windowBlitPaint(g) && needsRepaintAfterBlit()); g.dispose(); + rm.notifyRepaintPerformed(this, r.x, r.y, r.width, r.height); rm.markCompletelyClean((JComponent)getParent()); rm.markCompletelyClean(this); rm.markCompletelyClean(jview); } finally { rm.endPaint();