8046596: fix doclint issues in swing classes, part 3 of 4

Reviewed-by: pchelko
This commit is contained in:
Andrei Eremeev 2014-06-18 17:34:05 +04:00 committed by Yuri Nesterenko
parent 1553ada84b
commit ed7184cb9b
16 changed files with 205 additions and 34 deletions

View File

@ -131,6 +131,7 @@ public abstract class AbstractSpinnerModel implements SpinnerModel, Serializable
* myAbstractSpinnerModel.getListeners(ChangeListener.class);
* </pre>
*
* @param <T> the type of requested listeners
* @param listenerType the type of listeners to return, e.g. ChangeListener.class
* @return all of the objects receiving <em>listenerType</em> notifications
* from this model

View File

@ -94,6 +94,9 @@ public class ActionMap implements Serializable {
* for <code>key</code>.
* <p>In most instances, <code>key</code> will be
* <code>action.getValue(NAME)</code>.
*
* @param key a key
* @param action a binding for {@code key}
*/
public void put(Object key, Action action) {
if (key == null) {
@ -113,6 +116,9 @@ public class ActionMap implements Serializable {
/**
* Returns the binding for <code>key</code>, messaging the
* parent <code>ActionMap</code> if the binding is not locally defined.
*
* @param key a key
* @return the binding for {@code key}
*/
public Action get(Object key) {
Action value = (arrayTable == null) ? null :
@ -130,6 +136,8 @@ public class ActionMap implements Serializable {
/**
* Removes the binding for <code>key</code> from this <code>ActionMap</code>.
*
* @param key a key
*/
public void remove(Object key) {
if (arrayTable != null) {
@ -148,6 +156,8 @@ public class ActionMap implements Serializable {
/**
* Returns the <code>Action</code> names that are bound in this <code>ActionMap</code>.
*
* @return an array of the keys
*/
public Object[] keys() {
if (arrayTable == null) {
@ -172,6 +182,8 @@ public class ActionMap implements Serializable {
* Returns an array of the keys defined in this <code>ActionMap</code> and
* its parent. This method differs from <code>keys()</code> in that
* this method includes the keys defined in the parent.
*
* @return an array of the keys
*/
public Object[] allKeys() {
int count = size();

View File

@ -167,9 +167,11 @@ public class ButtonGroup implements Serializable {
}
/**
* Returns whether a <code>ButtonModel</code> is selected.
* @return <code>true</code> if the button is selected,
* otherwise returns <code>false</code>
* Returns whether a {@code ButtonModel} is selected.
*
* @param m an isntance of {@code ButtonModel}
* @return {@code true} if the button is selected,
* otherwise returns {@code false}
*/
public boolean isSelected(ButtonModel m) {
return (m == selection);

View File

@ -34,23 +34,44 @@ import java.awt.event.*;
*/
public interface ComboBoxEditor {
/** Return the component that should be added to the tree hierarchy for
* this editor
*/
/**
* Returns the component that should be added to the tree hierarchy for
* this editor
*
* @return the component
*/
public Component getEditorComponent();
/** Set the item that should be edited. Cancel any editing if necessary **/
/**
* Set the item that should be edited. Cancel any editing if necessary
*
* @param anObject an item
*/
public void setItem(Object anObject);
/** Return the edited item **/
/**
* Returns the edited item
*
* @return the edited item
*/
public Object getItem();
/** Ask the editor to start editing and to select everything **/
/**
* Ask the editor to start editing and to select everything
*/
public void selectAll();
/** Add an ActionListener. An action event is generated when the edited item changes **/
/**
* Add an ActionListener. An action event is generated when the edited item changes
*
* @param l an {@code ActionListener}
*/
public void addActionListener(ActionListener l);
/** Remove an ActionListener **/
/**
* Remove an ActionListener
*
* @param l an {@code ActionListener}
*/
public void removeActionListener(ActionListener l);
}

View File

@ -78,7 +78,9 @@ public class ComponentInputMap extends InputMap {
}
/**
* Returns the component the <code>InputMap</code> was created for.
* Returns the component the {@code InputMap} was created for.
*
* @return the component the {@code InputMap} was created for.
*/
public JComponent getComponent() {
return component;

View File

@ -477,6 +477,7 @@ public class DefaultButtonModel implements ButtonModel, Serializable {
* If no such listeners exist,
* this method returns an empty array.
*
* @param <T> the type of requested listeners
* @param listenerType the type of listeners requested;
* this parameter should specify an interface
* that descends from <code>java.util.EventListener</code>

View File

@ -670,6 +670,7 @@ public class GroupLayout implements LayoutManager2 {
* @param resizable whether the group is resizable
* @param anchorBaselineToTop whether the baseline is anchored to
* the top or bottom of the group
* @return the {@code ParallelGroup}
* @see #createBaselineGroup
* @see ParallelGroup
*/

View File

@ -435,6 +435,7 @@ public class JOptionPane extends JComponent implements Accessible
* @exception HeadlessException if
* <code>GraphicsEnvironment.isHeadless</code> returns
* <code>true</code>
* @return user's input
* @see java.awt.GraphicsEnvironment#isHeadless
*/
public static String showInputDialog(Object message)
@ -451,6 +452,7 @@ public class JOptionPane extends JComponent implements Accessible
* @param message the <code>Object</code> to display
* @param initialSelectionValue the value used to initialize the input
* field
* @return user's input
* @since 1.4
*/
public static String showInputDialog(Object message, Object initialSelectionValue) {
@ -469,6 +471,7 @@ public class JOptionPane extends JComponent implements Accessible
* @exception HeadlessException if
* <code>GraphicsEnvironment.isHeadless</code> returns
* <code>true</code>
* @return user's input
* @see java.awt.GraphicsEnvironment#isHeadless
*/
public static String showInputDialog(Component parentComponent,
@ -489,6 +492,7 @@ public class JOptionPane extends JComponent implements Accessible
* @param message the <code>Object</code> to display
* @param initialSelectionValue the value used to initialize the input
* field
* @return user's input
* @since 1.4
*/
public static String showInputDialog(Component parentComponent, Object message,
@ -515,6 +519,7 @@ public class JOptionPane extends JComponent implements Accessible
* <code>WARNING_MESSAGE</code>,
* <code>QUESTION_MESSAGE</code>,
* or <code>PLAIN_MESSAGE</code>
* @return user's input
* @exception HeadlessException if
* <code>GraphicsEnvironment.isHeadless</code> returns
* <code>true</code>
@ -1348,6 +1353,7 @@ public class JOptionPane extends JComponent implements Accessible
* @param parentComponent the parent <code>Component</code>
* for the dialog
* @param message the <code>Object</code> to display
* @return user's input
*/
public static String showInternalInputDialog(Component parentComponent,
Object message) {
@ -1368,6 +1374,7 @@ public class JOptionPane extends JComponent implements Accessible
* @param messageType the type of message that is to be displayed:
* ERROR_MESSAGE, INFORMATION_MESSAGE, WARNING_MESSAGE,
* QUESTION_MESSAGE, or PLAIN_MESSAGE
* @return user's input
*/
public static String showInternalInputDialog(Component parentComponent,
Object message, String title, int messageType) {
@ -2246,6 +2253,8 @@ public class JOptionPane extends JComponent implements Accessible
* <p>
* This is a bound property.
*
* @param newValue if true, an input component whose parent is {@code parentComponent}
* is provided to allow the user to input a value.
* @see #setSelectionValues
* @see #setInputValue
* @beaninfo

View File

@ -173,6 +173,8 @@ public class JRadioButtonMenuItem extends JMenuItem implements Accessible {
*
* @param text the string displayed on the radio button
* @param icon the image that the button should display
* @param selected if {@code true}, the button is initially selected,
* otherwise, the button is initially unselected
*/
public JRadioButtonMenuItem(String text, Icon icon, boolean selected) {
super(text, icon);

View File

@ -149,6 +149,12 @@ public class JScrollBar extends JComponent implements Adjustable, Accessible
* @see #setVisibleAmount
* @see #setMinimum
* @see #setMaximum
*
* @param orientation an orientation of the {@code JScrollBar}
* @param value an int giving the current value
* @param extent an int giving the amount by which the value can "jump"
* @param min an int giving the minimum value
* @param max an int giving the maximum value
*/
public JScrollBar(int orientation, int value, int extent, int min, int max)
{
@ -172,6 +178,8 @@ public class JScrollBar extends JComponent implements Adjustable, Accessible
* value = 0
* extent = 10
* </pre>
*
* @param orientation an orientation of the {@code JScrollBar}
*/
public JScrollBar(int orientation) {
this(orientation, 0, 10, 0, 100);
@ -213,6 +221,7 @@ public class JScrollBar extends JComponent implements Adjustable, Accessible
* Returns the delegate that implements the look and feel for
* this component.
*
* @return the scroll bar's current UI.
* @see JComponent#setUI
*/
public ScrollBarUI getUI() {
@ -258,6 +267,7 @@ public class JScrollBar extends JComponent implements Adjustable, Accessible
* Set the scrollbar's orientation to either VERTICAL or
* HORIZONTAL.
*
* @param orientation an orientation of the {@code JScrollBar}
* @exception IllegalArgumentException if orientation is not one of VERTICAL, HORIZONTAL
* @see #getOrientation
* @beaninfo
@ -293,6 +303,8 @@ public class JScrollBar extends JComponent implements Adjustable, Accessible
* Returns data model that handles the scrollbar's four
* fundamental properties: minimum, maximum, value, extent.
*
* @return the data model
*
* @see #setModel
*/
public BoundedRangeModel getModel() {
@ -304,6 +316,7 @@ public class JScrollBar extends JComponent implements Adjustable, Accessible
* Sets the model that handles the scrollbar's four
* fundamental properties: minimum, maximum, value, extent.
*
* @param newModel a new model
* @see #getModel
* @beaninfo
* bound: true
@ -583,6 +596,8 @@ public class JScrollBar extends JComponent implements Adjustable, Accessible
* scrollbar model will not generate ChangeEvents while
* valueIsAdjusting is true.
*
* @param b {@code true} if the upcoming changes to the value property are part of a series
*
* @see #getValueIsAdjusting
* @see BoundedRangeModel#setValueIsAdjusting
* @beaninfo
@ -610,6 +625,10 @@ public class JScrollBar extends JComponent implements Adjustable, Accessible
* minimum &le; value &le; value+extent &le; maximum
* </pre>
*
* @param newValue an int giving the current value
* @param newExtent an int giving the amount by which the value can "jump"
* @param newMin an int giving the minimum value
* @param newMax an int giving the maximum value
*
* @see BoundedRangeModel#setRangeProperties
* @see #setValue
@ -681,6 +700,10 @@ public class JScrollBar extends JComponent implements Adjustable, Accessible
/**
* Notify listeners that the scrollbar's model has changed.
*
* @param id an integer indicating the type of event.
* @param type an integer indicating the adjustment type.
* @param value the current value of the adjustment
*
* @see #addAdjustmentListener
* @see EventListenerList
*/

View File

@ -140,6 +140,7 @@ public class JToggleButton extends AbstractButton implements Accessible {
* Creates a toggle button where properties are taken from the
* Action supplied.
*
* @param a an instance of an {@code Action}
* @since 1.3
*/
public JToggleButton(Action a) {
@ -390,6 +391,9 @@ public class JToggleButton extends AbstractButton implements Accessible {
protected class AccessibleJToggleButton extends AccessibleAbstractButton
implements ItemListener {
/**
* Constructs {@code AccessibleJToggleButton}
*/
public AccessibleJToggleButton() {
super();
JToggleButton.this.addItemListener(this);

View File

@ -986,6 +986,7 @@ public class JTree extends JComponent implements Scrollable, Accessible
* or equal to 0 the height for each row is determined by the
* renderer.
*
* @return the height of each row
*/
public int getRowHeight()
{
@ -1115,6 +1116,7 @@ public class JTree extends JComponent implements Scrollable, Accessible
* <p>
* This is a bound property.
*
* @param clickCount the number of mouse clicks to get a node expanded or closed
* @since 1.3
* @beaninfo
* bound: true
@ -1508,6 +1510,7 @@ public class JTree extends JComponent implements Scrollable, Accessible
* is provided as an entry point for subclassers to add filtered
* editing without having to resort to creating a new editor.
*
* @param path a {@code TreePath} identifying a node
* @return true if every parent node and the node itself is editable
* @see #isEditable
*/
@ -1984,6 +1987,8 @@ public class JTree extends JComponent implements Scrollable, Accessible
/**
* Returns true if the node identified by the path has ever been
* expanded.
*
* @param path a {@code TreePath} identifying a node
* @return true if the <code>path</code> has ever been expanded
*/
public boolean hasBeenExpanded(TreePath path) {
@ -2079,6 +2084,7 @@ public class JTree extends JComponent implements Scrollable, Accessible
* which means it is either the root or all of its parents are expanded.
* Otherwise, this method returns false.
*
* @param path {@code TreePath} identifying a node
* @return true if the node is viewable, otherwise false
*/
public boolean isVisible(TreePath path) {
@ -2472,6 +2478,7 @@ public class JTree extends JComponent implements Scrollable, Accessible
* set the selection model to <code>null</code>, which forces an empty
* selection model to be used.
*
* @return the model for selections
* @see #setSelectionModel
*/
public TreeSelectionModel getSelectionModel() {
@ -2817,6 +2824,7 @@ public class JTree extends JComponent implements Scrollable, Accessible
*
* @param path the <code>TreePath</code> indicating the node that was
* expanded
* @throws ExpandVetoException if the expansion is prevented from occurring
* @see EventListenerList
*/
public void fireTreeWillExpand(TreePath path) throws ExpandVetoException {
@ -2843,6 +2851,7 @@ public class JTree extends JComponent implements Scrollable, Accessible
*
* @param path the <code>TreePath</code> indicating the node that was
* expanded
* @throws ExpandVetoException if the collapse is prevented from occurring
* @see EventListenerList
*/
public void fireTreeWillCollapse(TreePath path) throws ExpandVetoException {
@ -3541,6 +3550,11 @@ public class JTree extends JComponent implements Scrollable, Accessible
* <code>path</code> are marked EXPANDED, but <code>path</code> itself
* is marked collapsed.<p>
* This will fail if a <code>TreeWillExpandListener</code> vetos it.
*
* @param path a {@code TreePath} identifying a node
* @param state if {@code true}, all parents of @{code path} and path are marked as expanded.
* Otherwise, all parents of {@code path} are marked EXPANDED,
* but {@code path} itself is marked collapsed.
*/
protected void setExpandedState(TreePath path, boolean state) {
if(path != null) {
@ -3636,9 +3650,12 @@ public class JTree extends JComponent implements Scrollable, Accessible
}
/**
* Returns an <code>Enumeration</code> of <code>TreePaths</code>
* Returns an {@code Enumeration} of {@code TreePaths}
* that have been expanded that
* are descendants of <code>parent</code>.
* are descendants of {@code parent}.
*
* @param parent a path
* @return the {@code Enumeration} of {@code TreePaths}
*/
protected Enumeration<TreePath>
getDescendantToggledPaths(TreePath parent)
@ -3701,6 +3718,8 @@ public class JTree extends JComponent implements Scrollable, Accessible
* <p>
* For more information on what expanded state means, see the
* <a href=#jtree_description>JTree description</a> above.
*
* @return the instance of {@code TreeModelHandler}
*/
protected TreeModelListener createTreeModelListener() {
return new TreeModelHandler();
@ -3711,6 +3730,9 @@ public class JTree extends JComponent implements Scrollable, Accessible
* <code>path</code>. If <code>includePath</code> is true and
* <code>path</code> is selected, it will be removed from the selection.
*
* @param path a path
* @param includePath is {@code true} and {@code path} is selected,
* it will be removed from the selection.
* @return true if a descendant was selected
* @since 1.3
*/
@ -3891,6 +3913,9 @@ public class JTree extends JComponent implements Scrollable, Accessible
* elements are added is children, otherwise if <code>children</code>
* is a hashtable all the key/value pairs are added in the order
* <code>Enumeration</code> returns them.
*
* @param parent the parent node
* @param children the children
*/
public static void createChildren(DefaultMutableTreeNode parent,
Object children) {
@ -4113,6 +4138,9 @@ public class JTree extends JComponent implements Scrollable, Accessible
TreePath leadSelectionPath;
Accessible leadSelectionAccessible;
/**
* Constructs {@code AccessibleJTree}
*/
public AccessibleJTree() {
// Add a tree model listener for JTree
TreeModel model = JTree.this.getModel();
@ -4551,7 +4579,11 @@ public class JTree extends JComponent implements Scrollable, Accessible
private boolean isLeaf = false;
/**
* Constructs an AccessibleJTreeNode
* Constructs an AccessibleJTreeNode
*
* @param t an instance of {@code JTree}
* @param p an instance of {@code TreePath}
* @param ap an instance of {@code Accessible}
* @since 1.4
*/
public AccessibleJTreeNode(JTree t, TreePath p, Accessible ap) {
@ -5183,6 +5215,11 @@ public class JTree extends JComponent implements Scrollable, Accessible
}
}
/**
* Returns the relative location of the node
*
* @return the relative location of the node
*/
protected Point getLocationInJTree() {
Rectangle r = tree.getPathBounds(path);
if (r != null) {

View File

@ -134,18 +134,25 @@ public interface ListSelectionModel
/**
* Returns the first selected index or -1 if the selection is empty.
*
* @return the first selected index or -1 if the selection is empty.
*/
int getMinSelectionIndex();
/**
* Returns the last selected index or -1 if the selection is empty.
*
* @return the last selected index or -1 if the selection is empty.
*/
int getMaxSelectionIndex();
/**
* Returns true if the specified index is selected.
*
* @param index an index
* @return {@code true} if the specified index is selected
*/
boolean isSelectedIndex(int index);
@ -158,6 +165,7 @@ public interface ListSelectionModel
* indices specially, e.g. Windows95 displays the lead index with a
* dotted yellow outline.
*
* @return the anchor selection index
* @see #getLeadSelectionIndex
* @see #setSelectionInterval
* @see #addSelectionInterval
@ -168,6 +176,7 @@ public interface ListSelectionModel
/**
* Set the anchor selection index.
*
* @param index the anchor selection index
* @see #getAnchorSelectionIndex
*/
void setAnchorSelectionIndex(int index);
@ -177,6 +186,7 @@ public interface ListSelectionModel
* Return the second index argument from the most recent call to
* setSelectionInterval(), addSelectionInterval() or removeSelectionInterval().
*
* @return the lead selection index.
* @see #getAnchorSelectionIndex
* @see #setSelectionInterval
* @see #addSelectionInterval
@ -186,6 +196,7 @@ public interface ListSelectionModel
/**
* Set the lead selection index.
*
* @param index the lead selection index
* @see #getLeadSelectionIndex
*/
void setLeadSelectionIndex(int index);
@ -200,20 +211,30 @@ public interface ListSelectionModel
/**
* Returns true if no indices are selected.
*
* @return {@code true} if no indices are selected.
*/
boolean isSelectionEmpty();
/**
* Insert length indices beginning before/after index. This is typically
* Insert {@code length} indices beginning before/after {@code index}. This is typically
* called to sync the selection model with a corresponding change
* in the data model.
*
* @param index the beginning of the interval
* @param length the length of the interval
* @param before if {@code true}, interval inserts before the {@code index},
* otherwise, interval inserts after the {@code index}
*/
void insertIndexInterval(int index, int length, boolean before);
/**
* Remove the indices in the interval index0,index1 (inclusive) from
* Remove the indices in the interval {@code index0,index1} (inclusive) from
* the selection model. This is typically called to sync the selection
* model width a corresponding change in the data model.
*
* @param index0 the beginning of the interval
* @param index1 the end of the interval
*/
void removeIndexInterval(int index0, int index1);
@ -272,6 +293,7 @@ public interface ListSelectionModel
* In this mode, there's no restriction on what can be selected.
* </ul>
*
* @param selectionMode the selection mode
* @see #getSelectionMode
* @throws IllegalArgumentException if the selection mode isn't
* one of those allowed

View File

@ -331,6 +331,7 @@ public class RepaintManager
* for the event dispatching thread that will validate the components
* first isValidateRoot() ancestor.
*
* @param invalidComponent a component
* @see JComponent#isValidateRoot
* @see #removeInvalidComponent
*/
@ -374,6 +375,7 @@ public class RepaintManager
/**
* Remove a component from the list of invalid components.
*
* @param component a component
* @see #addInvalidComponent
*/
public synchronized void removeInvalidComponent(JComponent component) {
@ -610,9 +612,13 @@ public class RepaintManager
return false;
}
/** Return the current dirty region for a component.
* Return an empty rectangle if the component is not
* dirty.
/**
* Return the current dirty region for a component.
* Return an empty rectangle if the component is not
* dirty.
*
* @param aComponent a component
* @return the region
*/
public Rectangle getDirtyRegion(JComponent aComponent) {
RepaintManager delegate = getDelegate(aComponent);
@ -632,6 +638,8 @@ public class RepaintManager
/**
* Mark a component completely dirty. <b>aComponent</b> will be
* completely painted during the next paintDirtyRegions() call.
*
* @param aComponent a component
*/
public void markCompletelyDirty(JComponent aComponent) {
RepaintManager delegate = getDelegate(aComponent);
@ -645,6 +653,8 @@ public class RepaintManager
/**
* Mark a component completely clean. <b>aComponent</b> will not
* get painted during the next paintDirtyRegions() call.
*
* @param aComponent a component
*/
public void markCompletelyClean(JComponent aComponent) {
RepaintManager delegate = getDelegate(aComponent);
@ -662,6 +672,10 @@ public class RepaintManager
* painted during the next paintDirtyRegions(). If computing dirty regions is
* expensive for your component, use this method and avoid computing dirty region
* if it return true.
*
* @param aComponent a component
* @return {@code true} if <b>aComponent</b> will be completely
* painted during the next paintDirtyRegions().
*/
public boolean isCompletelyDirty(JComponent aComponent) {
RepaintManager delegate = getDelegate(aComponent);
@ -982,13 +996,19 @@ public class RepaintManager
}
/**
/**
* Return the offscreen buffer that should be used as a double buffer with
* the component <code>c</code>.
* By default there is a double buffer per RepaintManager.
* The buffer might be smaller than <code>(proposedWidth,proposedHeight)</code>
* This happens when the maximum double buffer size as been set for the receiving
* repaint manager.
*
* @param c the component
* @param proposedWidth the width of the buffer
* @param proposedHeight the height of the buffer
*
* @return the image
*/
public Image getOffscreenBuffer(Component c,int proposedWidth,int proposedHeight) {
RepaintManager delegate = getDelegate(c);
@ -998,18 +1018,23 @@ public class RepaintManager
return _getOffscreenBuffer(c, proposedWidth, proposedHeight);
}
/**
* Return a volatile offscreen buffer that should be used as a
* double buffer with the specified component <code>c</code>.
* The image returned will be an instance of VolatileImage, or null
* if a VolatileImage object could not be instantiated.
* This buffer might be smaller than <code>(proposedWidth,proposedHeight)</code>.
* This happens when the maximum double buffer size has been set for this
* repaint manager.
*
* @see java.awt.image.VolatileImage
* @since 1.4
*/
/**
* Return a volatile offscreen buffer that should be used as a
* double buffer with the specified component <code>c</code>.
* The image returned will be an instance of VolatileImage, or null
* if a VolatileImage object could not be instantiated.
* This buffer might be smaller than <code>(proposedWidth,proposedHeight)</code>.
* This happens when the maximum double buffer size has been set for this
* repaint manager.
*
* @param c the component
* @param proposedWidth the width of the buffer
* @param proposedHeight the height of the buffer
*
* @return the volatile image
* @see java.awt.image.VolatileImage
* @since 1.4
*/
public Image getVolatileOffscreenBuffer(Component c,
int proposedWidth,int proposedHeight) {
RepaintManager delegate = getDelegate(c);
@ -1104,7 +1129,11 @@ public class RepaintManager
}
/** Set the maximum double buffer size. **/
/**
* Set the maximum double buffer size.
*
* @param d the dimension
*/
public void setDoubleBufferMaximumSize(Dimension d) {
doubleBufferMaxSize = d;
if (doubleBufferMaxSize == null) {

View File

@ -132,6 +132,7 @@ public interface RootPaneContainer
* Generally implemented with<pre>
* getRootPane().setLayeredPane(layeredPane);</pre>
*
* @param layeredPane the layered pane
* @exception java.awt.IllegalComponentStateException (a runtime
* exception) if the layered pane parameter is null
* @see #getLayeredPane
@ -162,6 +163,7 @@ public interface RootPaneContainer
* Generally implemented with
* <code>getRootPane().setGlassPane(glassPane);</code>
*
* @param glassPane the glass pane
* @see #getGlassPane
* @see JRootPane#setGlassPane
*/

View File

@ -168,6 +168,8 @@ public class ScrollPaneLayout
* };
* scrollpane.setLayout(mySPLayout):
* </pre>
*
* @param sp an instance of the {@code JScrollPane}
*/
public void syncWithScrollPane(JScrollPane sp) {
viewport = sp.getViewport();
@ -1106,6 +1108,7 @@ public class ScrollPaneLayout
* Returns the bounds of the border around the specified scroll pane's
* viewport.
*
* @param scrollpane an instance of the {@code JScrollPane}
* @return the size and position of the viewport border
* @deprecated As of JDK version Swing1.1
* replaced by <code>JScrollPane.getViewportBorderBounds()</code>.