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();