changeset 11770:47fccbef0408

8077095: Fix missing doclint warnings in the javax.swing.plaf.basic package Reviewed-by: serb
author darcy
date Tue, 14 Apr 2015 14:47:12 -0700
parents 2b5dd8a936de
children c00f7a13630b
files src/java.desktop/share/classes/javax/swing/plaf/basic/BasicDirectoryModel.java src/java.desktop/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java src/java.desktop/share/classes/javax/swing/plaf/basic/BasicInternalFrameUI.java src/java.desktop/share/classes/javax/swing/plaf/basic/BasicMenuItemUI.java src/java.desktop/share/classes/javax/swing/plaf/basic/BasicOptionPaneUI.java src/java.desktop/share/classes/javax/swing/plaf/basic/BasicScrollBarUI.java src/java.desktop/share/classes/javax/swing/plaf/basic/BasicScrollPaneUI.java src/java.desktop/share/classes/javax/swing/plaf/basic/BasicSliderUI.java src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTabbedPaneUI.java
diffstat 9 files changed, 1424 insertions(+), 49 deletions(-) [+]
line wrap: on
line diff
--- a/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicDirectoryModel.java	Tue Apr 14 12:10:01 2015 -0700
+++ b/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicDirectoryModel.java	Tue Apr 14 14:47:12 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2015, 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
@@ -219,12 +219,14 @@
 
     /**
      * Obsolete - not used.
+     * @param e list data event
      */
     public void intervalAdded(ListDataEvent e) {
     }
 
     /**
      * Obsolete - not used.
+     * @param e list data event
      */
     public void intervalRemoved(ListDataEvent e) {
     }
@@ -238,7 +240,12 @@
         ShellFolder.sort(v);
     }
 
-    // Obsolete - not used
+    /**
+     * Obsolete - not used
+     * @return a comparison of the file names
+     * @param a a file
+     * @param b another file
+     */
     protected boolean lt(File a, File b) {
         // First ignore case when comparing
         int diff = a.getName().toLowerCase().compareTo(b.getName().toLowerCase());
--- a/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java	Tue Apr 14 12:10:01 2015 -0700
+++ b/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java	Tue Apr 14 14:47:12 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2015, 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
@@ -50,23 +50,39 @@
 public class BasicFileChooserUI extends FileChooserUI {
 
     /* FileView icons */
+    /** Directory icon */
     protected Icon directoryIcon = null;
+    /** File icon */
     protected Icon fileIcon = null;
+    /** Computer icon */
     protected Icon computerIcon = null;
+    /** Hard drive icon */
     protected Icon hardDriveIcon = null;
+    /** Floppy drive icon */
     protected Icon floppyDriveIcon = null;
 
+    /** New folder icon */
     protected Icon newFolderIcon = null;
+    /** Up folder icon */
     protected Icon upFolderIcon = null;
+    /** Home folder icon */
     protected Icon homeFolderIcon = null;
+    /** List view icon */
     protected Icon listViewIcon = null;
+    /** Details view icon */
     protected Icon detailsViewIcon = null;
+    /** View menu icon */
     protected Icon viewMenuIcon = null;
 
+    /** Save button mnemonic */
     protected int saveButtonMnemonic = 0;
+    /** Open button mnemonic */
     protected int openButtonMnemonic = 0;
+    /** Cancel button mnemonic */
     protected int cancelButtonMnemonic = 0;
+    /** Update button mnemonic */
     protected int updateButtonMnemonic = 0;
+    /** Help button mnemonic */
     protected int helpButtonMnemonic = 0;
 
     /**
@@ -77,10 +93,15 @@
      */
     protected int directoryOpenButtonMnemonic = 0;
 
+    /** Save button text */
     protected String saveButtonText = null;
+    /** Open button text */
     protected String openButtonText = null;
+    /** Cancel button text */
     protected String cancelButtonText = null;
+    /** Update button text */
     protected String updateButtonText = null;
+    /** Help button text */
     protected String helpButtonText = null;
 
     /**
@@ -91,13 +112,20 @@
      */
     protected String directoryOpenButtonText = null;
 
+    /** Open dialog title text */
     private String openDialogTitleText = null;
+    /** Save dialog title text */
     private String saveDialogTitleText = null;
 
+    /** Save button tool tip text */
     protected String saveButtonToolTipText = null;
+    /** Open button tool tip text */
     protected String openButtonToolTipText = null;
+    /** Cancel button tool tip text */
     protected String cancelButtonToolTipText = null;
+    /** Update button tool tip text */
     protected String updateButtonToolTipText = null;
+    /** Help button tool tip text */
     protected String helpButtonToolTipText = null;
 
     /**
@@ -158,9 +186,17 @@
         return new BasicFileChooserUI((JFileChooser) c);
     }
 
+    /**
+     * Constructs a {@code BasicFileChooserUI}.
+     * @param b file chooser
+     */
     public BasicFileChooserUI(JFileChooser b) {
     }
 
+    /**
+     * Installs the UI.
+     * @param c the component
+     */
     public void installUI(JComponent c) {
         accessoryPanel = new JPanel(new BorderLayout());
         filechooser = (JFileChooser) c;
@@ -175,6 +211,10 @@
         filechooser.applyComponentOrientation(filechooser.getComponentOrientation());
     }
 
+    /**
+     * Uninstalls the UI.
+     * @param c the component
+     */
     public void uninstallUI(JComponent c) {
         uninstallListeners(filechooser);
         uninstallComponents(filechooser);
@@ -190,12 +230,24 @@
         handler = null;
     }
 
+    /**
+     * Installs the components.
+     * @param fc the file chooser
+     */
     public void installComponents(JFileChooser fc) {
     }
 
+    /**
+     * Uninstalls the components.
+     * @param fc the file chooser
+     */
     public void uninstallComponents(JFileChooser fc) {
     }
 
+    /**
+     * Installs the listeners.
+     * @param fc the file chooser
+     */
     protected void installListeners(JFileChooser fc) {
         propertyChangeListener = createPropertyChangeListener(fc);
         if(propertyChangeListener != null) {
@@ -241,6 +293,10 @@
     }
 
 
+    /**
+     * Uninstalls the listeners.
+     * @param fc the file chooser
+     */
     protected void uninstallListeners(JFileChooser fc) {
         if(propertyChangeListener != null) {
             fc.removePropertyChangeListener(propertyChangeListener);
@@ -252,6 +308,10 @@
     }
 
 
+    /**
+     * Installs the defaults.
+     * @param fc the file chooser
+     */
     protected void installDefaults(JFileChooser fc) {
         installIcons(fc);
         installStrings(fc);
@@ -264,6 +324,10 @@
         LookAndFeel.installProperty(fc, "opaque", Boolean.FALSE);
     }
 
+    /**
+     * Installs the icons.
+     * @param fc the file chooser
+     */
     protected void installIcons(JFileChooser fc) {
         directoryIcon    = UIManager.getIcon("FileView.directoryIcon");
         fileIcon         = UIManager.getIcon("FileView.fileIcon");
@@ -279,6 +343,10 @@
         viewMenuIcon     = UIManager.getIcon("FileChooser.viewMenuIcon");
     }
 
+    /**
+     * Installs the strings.
+     * @param fc the file chooser
+     */
     protected void installStrings(JFileChooser fc) {
 
         Locale l = fc.getLocale();
@@ -315,6 +383,10 @@
         directoryOpenButtonToolTipText = UIManager.getString("FileChooser.directoryOpenButtonToolTipText",l);
     }
 
+    /**
+     * Uninstalls the defaults.
+     * @param fc the file chooser
+     */
     protected void uninstallDefaults(JFileChooser fc) {
         uninstallIcons(fc);
         uninstallStrings(fc);
@@ -323,6 +395,10 @@
         }
     }
 
+    /**
+     * Uninstalls the icons.
+     * @param fc the file chooser
+     */
     protected void uninstallIcons(JFileChooser fc) {
         directoryIcon    = null;
         fileIcon         = null;
@@ -338,6 +414,10 @@
         viewMenuIcon     = null;
     }
 
+    /**
+     * Uninstalls the strings.
+     * @param fc the file chooser
+     */
     protected void uninstallStrings(JFileChooser fc) {
         saveButtonText   = null;
         openButtonText   = null;
@@ -354,6 +434,9 @@
         directoryOpenButtonToolTipText = null;
     }
 
+    /**
+     * Creates the model.
+     */
     protected void createModel() {
         if (model != null) {
             model.invalidateFileCache();
@@ -361,50 +444,102 @@
         model = new BasicDirectoryModel(getFileChooser());
     }
 
+    /**
+     * Returns the model.
+     * @return the model
+     */
     public BasicDirectoryModel getModel() {
         return model;
     }
 
+    /**
+     * Creates the property change listener.
+     * @param fc the file chooser
+     * @return the property change listener
+     */
     public PropertyChangeListener createPropertyChangeListener(JFileChooser fc) {
         return null;
     }
 
+    /**
+     * Returns the file name.
+     * @return the file name
+     */
     public String getFileName() {
         return null;
     }
 
+    /**
+     * Returns the directory name.
+     * @return the directory name
+     */
     public String getDirectoryName() {
         return null;
     }
 
+    /**
+     * Sets the file name.
+     * @param filename the file name
+     */
     public void setFileName(String filename) {
     }
 
+    /**
+     * Sets the directory name.
+     * @param dirname the file name
+     */
     public void setDirectoryName(String dirname) {
     }
 
+    /**
+     * {@inheritDoc}
+     */
     public void rescanCurrentDirectory(JFileChooser fc) {
     }
 
+    /**
+     * {@inheritDoc}
+     */
     public void ensureFileIsVisible(JFileChooser fc, File f) {
     }
 
+    /**
+     * Returns the file chooser.
+     * @return the file chooser
+     */
     public JFileChooser getFileChooser() {
         return filechooser;
     }
 
+    /**
+     * Returns the accessory panel.
+     * @return the accessory panel
+     */
     public JPanel getAccessoryPanel() {
         return accessoryPanel;
     }
 
+    /**
+     * Returns the approve button.
+     * @param fc the file chooser
+     * @return the approve button
+     */
     protected JButton getApproveButton(JFileChooser fc) {
         return null;
     }
 
+    /**
+     * {@inheritDoc}
+     */
     public JButton getDefaultButton(JFileChooser fc) {
         return getApproveButton(fc);
     }
 
+    /**
+     * Returns the approve button tool tip.
+     * @param fc the file chooser
+     * @return the approve button tool tip
+     */
     public String getApproveButtonToolTipText(JFileChooser fc) {
         String tooltipText = fc.getApproveButtonToolTipText();
         if(tooltipText != null) {
@@ -419,6 +554,9 @@
         return null;
     }
 
+    /**
+     * Clears the icon cache.
+     */
     public void clearIconCache() {
         fileView.clearIconCache();
     }
@@ -435,11 +573,22 @@
         return handler;
     }
 
+    /**
+     * Creates a double click listener.
+     * @param fc the file chooser
+     * @param list the list
+     * @return a double click listener
+     */
     protected MouseListener createDoubleClickListener(JFileChooser fc,
                                                       JList<?> list) {
         return new Handler(list);
     }
 
+    /**
+     * Creates a list selection listener.
+     * @param fc the file chooser
+     * @return a list selection listener
+     */
     public ListSelectionListener createListSelectionListener(JFileChooser fc) {
         return getHandler();
     }
@@ -566,12 +715,19 @@
         }
     }
 
+    /**
+     * A double click listener.
+     */
     protected class DoubleClickListener extends MouseAdapter {
         // NOTE: This class exists only for backward compatibility. All
         // its functionality has been moved into Handler. If you need to add
         // new functionality add it to the Handler, but make sure this
         // class calls into the Handler.
         Handler handler;
+        /**
+         * Constucts a {@code DoubleClickListener}.
+         * @param list the lsit
+         */
         public  DoubleClickListener(JList<?> list) {
             handler = new Handler(list);
         }
@@ -587,16 +743,21 @@
             handler.mouseEntered(e);
         }
 
+        /** {@inheritDoc} */
         public void mouseClicked(MouseEvent e) {
             handler.mouseClicked(e);
         }
     }
 
+    /**
+     * A selection listener.
+     */
     protected class SelectionListener implements ListSelectionListener {
         // NOTE: This class exists only for backward compatibility. All
         // its functionality has been moved into Handler. If you need to add
         // new functionality add it to the Handler, but make sure this
         // class calls into the Handler.
+        /** {@inheritDoc} */
         public void valueChanged(ListSelectionEvent e) {
             getHandler().valueChanged(e);
         }
@@ -672,6 +833,8 @@
 
     /**
      * Returns the title of this dialog
+     * @param fc the file chooser
+     * @return the title of this dialog
      */
     public String getDialogTitle(JFileChooser fc) {
         String dialogTitle = fc.getDialogTitle();
@@ -686,7 +849,11 @@
         }
     }
 
-
+    /**
+     * Returns the approve button mnemonic.
+     * @param fc the file chooser
+     * @return the approve button mnemonic
+     */
     public int getApproveButtonMnemonic(JFileChooser fc) {
         int mnemonic = fc.getApproveButtonMnemonic();
         if (mnemonic > 0) {
@@ -700,6 +867,7 @@
         }
     }
 
+    /** {@inheritDoc} */
     public String getApproveButtonText(JFileChooser fc) {
         String buttonText = fc.getApproveButtonText();
         if (buttonText != null) {
@@ -718,6 +886,10 @@
     // ***** Directory Actions *****
     // *****************************
 
+    /**
+     * Returns a new folder action.
+     * @return a new folder action
+     */
     public Action getNewFolderAction() {
         if (newFolderAction == null) {
             newFolderAction = new NewFolderAction();
@@ -730,22 +902,42 @@
         return newFolderAction;
     }
 
+    /**
+     * Returns a go home action.
+     * @return a go home action
+     */
     public Action getGoHomeAction() {
         return goHomeAction;
     }
 
+    /**
+     * Returns a change to parent directory action.
+     * @return a change to parent directory action
+     */
     public Action getChangeToParentDirectoryAction() {
         return changeToParentDirectoryAction;
     }
 
+    /**
+     * Returns an approve selection action.
+     * @return an approve selection  action
+     */
     public Action getApproveSelectionAction() {
         return approveSelectionAction;
     }
 
+    /**
+     * Returns a cancel selection action.
+     * @return a cancel selection action
+     */
     public Action getCancelSelectionAction() {
         return cancelSelectionAction;
     }
 
+    /**
+     * Returns an update action.
+     * @return an update action
+     */
     public Action getUpdateAction() {
         return updateAction;
     }
@@ -756,9 +948,11 @@
      */
     @SuppressWarnings("serial") // Superclass is not serializable across versions
     protected class NewFolderAction extends AbstractAction {
+        /** Constructs a {@code NewFolderAction}. */
         protected NewFolderAction() {
             super(FilePane.ACTION_NEW_FOLDER);
         }
+        /** {@inheritDoc} */
         public void actionPerformed(ActionEvent e) {
             if (readOnly) {
                 return;
@@ -799,6 +993,7 @@
      */
     @SuppressWarnings("serial") // Superclass is not serializable across versions
     protected class GoHomeAction extends AbstractAction {
+        /** Constructs a {@code GoHomeAction}. */
         protected GoHomeAction() {
             super("Go Home");
         }
@@ -808,12 +1003,17 @@
         }
     }
 
+    /**
+     * Change to parent directory action.
+     */
     @SuppressWarnings("serial") // Superclass is not serializable across versions
     protected class ChangeToParentDirectoryAction extends AbstractAction {
+        /** Constructs a {@code ChangeToParentDirectoryAction}. */
         protected ChangeToParentDirectoryAction() {
             super("Go Up");
             putValue(Action.ACTION_COMMAND_KEY, FilePane.ACTION_CHANGE_TO_PARENT_DIRECTORY);
         }
+        /** {@inheritDoc} */
         public void actionPerformed(ActionEvent e) {
             getFileChooser().changeToParentDirectory();
         }
@@ -824,9 +1024,11 @@
      */
     @SuppressWarnings("serial") // Superclass is not serializable across versions
     protected class ApproveSelectionAction extends AbstractAction {
+        /** Constructs an {@code ApproveSelectionAction}. */
         protected ApproveSelectionAction() {
             super(FilePane.ACTION_APPROVE_SELECTION);
         }
+        /** {@inheritDoc} */
         public void actionPerformed(ActionEvent e) {
             if (isDirectorySelected()) {
                 File dir = getDirectory();
@@ -1133,6 +1335,7 @@
      */
     @SuppressWarnings("serial") // Superclass is not serializable across versions
     protected class CancelSelectionAction extends AbstractAction {
+        /** {@inheritDoc} */
         public void actionPerformed(ActionEvent e) {
             getFileChooser().cancelSelection();
         }
@@ -1143,6 +1346,7 @@
      */
     @SuppressWarnings("serial") // Superclass is not serializable across versions
     protected class UpdateAction extends AbstractAction {
+        /** {@inheritDoc} */
         public void actionPerformed(ActionEvent e) {
             JFileChooser fc = getFileChooser();
             fc.setCurrentDirectory(fc.getFileSystemView().createFileObject(getDirectoryName()));
@@ -1188,15 +1392,27 @@
     // *****************************************
     // ***** default AcceptAll file filter *****
     // *****************************************
+    /**
+     * Accept all file filter.
+     */
     protected class AcceptAllFileFilter extends FileFilter {
 
+        /** Constructs an {@code AcceptAllFileFilter}. */
         public AcceptAllFileFilter() {
         }
 
+        /**
+         * Returns true.
+         * @param f the file
+         * @return true
+         */
         public boolean accept(File f) {
             return true;
         }
 
+        /**
+         * {@inheritDoc}
+         */
         public String getDescription() {
             return UIManager.getString("FileChooser.acceptAllFileFilterText");
         }
@@ -1206,18 +1422,26 @@
     // ***********************
     // * FileView operations *
     // ***********************
+    /**
+     * A basic file view.
+     */
     protected class BasicFileView extends FileView {
         /* FileView type descriptions */
-        // PENDING(jeff) - pass in the icon cache size
+        /** The icon cache */
         protected Hashtable<File,Icon> iconCache = new Hashtable<File,Icon>();
 
+        /** Constructs a {@code BasicFileView}. */
         public BasicFileView() {
         }
 
+        /**
+         * Clears the icon cache.
+         */
         public void clearIconCache() {
             iconCache = new Hashtable<File,Icon>();
         }
 
+        /** {@inheritDoc} */
         public String getName(File f) {
             // Note: Returns display name rather than file name
             String fileName = null;
@@ -1227,11 +1451,12 @@
             return fileName;
         }
 
-
+        /** {@inheritDoc} */
         public String getDescription(File f) {
             return f.getName();
         }
 
+        /** {@inheritDoc} */
         public String getTypeDescription(File f) {
             String type = getFileChooser().getFileSystemView().getSystemTypeDescription(f);
             if (type == null) {
@@ -1244,10 +1469,20 @@
             return type;
         }
 
+        /**
+         * Returns the cached icon for the file.
+         * @param f the file
+         * @return the cached icon for the file
+         */
         public Icon getCachedIcon(File f) {
             return iconCache.get(f);
         }
 
+        /**
+         * Caches an icon for a file.
+         * @param f the file
+         * @param i the icon
+         */
         public void cacheIcon(File f, Icon i) {
             if(f == null || i == null) {
                 return;
@@ -1255,6 +1490,7 @@
             iconCache.put(f, i);
         }
 
+        /** {@inheritDoc} */
         public Icon getIcon(File f) {
             Icon icon = getCachedIcon(f);
             if(icon != null) {
@@ -1278,6 +1514,11 @@
             return icon;
         }
 
+        /**
+         * Returns whether or not a file is hidden.
+         * @param f the file
+         * @return whether or not a file is hidden
+         */
         public Boolean isHidden(File f) {
             String name = f.getName();
             if(name != null && name.charAt(0) == '.') {
--- a/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicInternalFrameUI.java	Tue Apr 14 12:10:01 2015 -0700
+++ b/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicInternalFrameUI.java	Tue Apr 14 14:47:12 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, 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
@@ -42,22 +42,31 @@
  */
 public class BasicInternalFrameUI extends InternalFrameUI
 {
-
+    /** frame */
     protected JInternalFrame frame;
 
     private Handler handler;
+    /** Border listener */
     protected MouseInputAdapter          borderListener;
+    /** Property change listener */
     protected PropertyChangeListener     propertyChangeListener;
+    /** Internal frame layout */
     protected LayoutManager              internalFrameLayout;
+    /** Component listener */
     protected ComponentListener          componentListener;
+    /** Glass pane dispatcher */
     protected MouseInputListener         glassPaneDispatcher;
     private InternalFrameListener        internalFrameListener;
 
+    /** North pane */
     protected JComponent northPane;
+    /** South pane */
     protected JComponent southPane;
+    /** West pane */
     protected JComponent westPane;
+    /** East pane */
     protected JComponent eastPane;
-
+    /** Title pane */
     protected BasicInternalFrameTitlePane titlePane; // access needs this
 
     private static DesktopManager sharedDesktopManager;
@@ -85,10 +94,19 @@
 /////////////////////////////////////////////////////////////////////////////
 // ComponentUI Interface Implementation methods
 /////////////////////////////////////////////////////////////////////////////
+    /**
+     * Returns a component UI.
+     * @param b a component
+     * @return a component UI
+     */
     public static ComponentUI createUI(JComponent b)    {
         return new BasicInternalFrameUI((JInternalFrame)b);
     }
 
+    /**
+     * Constructs a {@code BasicInternalFrameUI}.
+     * @param b the internal frame
+     */
     public BasicInternalFrameUI(JInternalFrame b)   {
         LookAndFeel laf = UIManager.getLookAndFeel();
         if (laf instanceof BasicLookAndFeel) {
@@ -96,6 +114,10 @@
         }
     }
 
+    /**
+     * Installs the UI.
+     * @param c the component
+     */
     public void installUI(JComponent c)   {
 
         frame = (JInternalFrame)c;
@@ -108,6 +130,10 @@
         LookAndFeel.installProperty(frame, "opaque", Boolean.TRUE);
     }
 
+    /**
+     * Uninstalls the UI.
+     * @param c the component
+     */
     public void uninstallUI(JComponent c) {
         if(c != frame)
             throw new IllegalComponentStateException(
@@ -124,6 +150,9 @@
         frame = null;
     }
 
+    /**
+     * Installs the defaults.
+     */
     protected void installDefaults(){
         Icon frameIcon = frame.getFrameIcon();
         if (frameIcon == null || frameIcon instanceof UIResource) {
@@ -144,6 +173,9 @@
         LookAndFeel.installBorder(frame, "InternalFrame.border");
 
     }
+    /**
+     * Installs the keyboard actions.
+     */
     protected void installKeyboardActions(){
         createInternalFrameListener();
         if (internalFrameListener != null) {
@@ -184,6 +216,9 @@
         BasicLookAndFeel.installAudioActionMap(map);
     }
 
+    /**
+     * Installs the components.
+     */
     protected void installComponents(){
         setNorthPane(createNorthPane(frame));
         setSouthPane(createSouthPane(frame));
@@ -192,6 +227,7 @@
     }
 
     /**
+     * Installs the listeners.
      * @since 1.3
      */
     protected void installListeners() {
@@ -257,6 +293,9 @@
         return null;
     }
 
+    /**
+     * Uninstalls the defaults.
+     */
     protected void uninstallDefaults() {
         Icon frameIcon = frame.getFrameIcon();
         if (frameIcon instanceof UIResource) {
@@ -267,6 +306,9 @@
         LookAndFeel.uninstallBorder(frame);
     }
 
+    /**
+     * Uninstalls the components.
+     */
     protected void uninstallComponents(){
         setNorthPane(null);
         setSouthPane(null);
@@ -279,6 +321,7 @@
     }
 
     /**
+     * Uninstalls the listeners.
      * @since 1.3
      */
     protected void uninstallListeners() {
@@ -298,6 +341,9 @@
       borderListener = null;
     }
 
+    /**
+     * Uninstalls the keyboard actions.
+     */
     protected void uninstallKeyboardActions(){
         if (internalFrameListener != null) {
             frame.removeInternalFrameListener(internalFrameListener);
@@ -321,22 +367,38 @@
         frame.setCursor(s);
     }
 
+    /**
+     * Creates the layout manager.
+     * @return the layout manager
+     */
     protected LayoutManager createLayoutManager(){
         return getHandler();
     }
 
+    /**
+     * Creates the property change listener.
+     * @return the property change listener
+     */
     protected PropertyChangeListener createPropertyChangeListener(){
         return getHandler();
     }
 
-
-
+    /**
+     * Returns the preferred size.
+     * @param x the component
+     * @return the preferred size
+     */
     public Dimension getPreferredSize(JComponent x)    {
         if(frame == x)
             return frame.getLayout().preferredLayoutSize(x);
         return new Dimension(100, 100);
     }
 
+    /**
+     * Returns the minimum size.
+     * @param x the component
+     * @return the minimum size
+     */
     public Dimension getMinimumSize(JComponent x)  {
         if(frame == x) {
             return frame.getLayout().minimumLayoutSize(x);
@@ -344,6 +406,11 @@
         return new Dimension(0, 0);
     }
 
+    /**
+     * Returns the maximum size.
+     * @param x the component
+     * @return the maximum size
+     */
     public Dimension getMaximumSize(JComponent x) {
         return new Dimension(Integer.MAX_VALUE, Integer.MAX_VALUE);
     }
@@ -371,60 +438,114 @@
         }
     }
 
+    /**
+     * Deinstalls the mouse handlers.
+     * @param c the component
+     */
     protected void deinstallMouseHandlers(JComponent c) {
       c.removeMouseListener(borderListener);
       c.removeMouseMotionListener(borderListener);
     }
 
+    /**
+     * Installs the mouse handlers.
+     * @param c the component
+     */
     protected void installMouseHandlers(JComponent c) {
       c.addMouseListener(borderListener);
       c.addMouseMotionListener(borderListener);
     }
 
+    /**
+     * Creates the north pane.
+     * @param w the internal frame
+     * @return the north pane
+     */
     protected JComponent createNorthPane(JInternalFrame w) {
       titlePane = new BasicInternalFrameTitlePane(w);
       return titlePane;
     }
 
 
+    /**
+     * Creates the north pane.
+     * @param w the internal frame
+     * @return the north pane
+     */
     protected JComponent createSouthPane(JInternalFrame w) {
         return null;
     }
 
+    /**
+     * Creates the west pane.
+     * @param w the internal frame
+     * @return the west pane
+     */
     protected JComponent createWestPane(JInternalFrame w) {
         return null;
     }
 
+    /**
+     * Creates the east pane.
+     * @param w the internal frame
+     * @return the east pane
+     */
     protected JComponent createEastPane(JInternalFrame w) {
         return null;
     }
 
-
+    /**
+     * Creates the border listener.
+     * @param w the internal frame
+     * @return the border listener
+     */
     protected MouseInputAdapter createBorderListener(JInternalFrame w) {
         return new BorderListener();
     }
 
+    /**
+     * Creates the internal frame listener.
+     */
     protected void createInternalFrameListener(){
         internalFrameListener = getHandler();
     }
 
+    /**
+     * Returns whether or no the key binding is registered.
+     * @return whether or no the key binding is registered
+     */
     protected final boolean isKeyBindingRegistered(){
       return keyBindingRegistered;
     }
 
+    /**
+     * Sets the key binding registration.
+     * @param b new value for key binding registration
+     */
     protected final void setKeyBindingRegistered(boolean b){
       keyBindingRegistered = b;
     }
 
+    /**
+     * Returns whether or no the key binding is active.
+     * @return whether or no the key binding is active
+     */
     public final boolean isKeyBindingActive(){
       return keyBindingActive;
     }
 
+    /**
+     * Sets the key binding activity.
+     * @param b new value for key binding activity
+     */
     protected final void setKeyBindingActive(boolean b){
       keyBindingActive = b;
     }
 
 
+    /**
+     * Setup the menu open key.
+     */
     protected void setupMenuOpenKey(){
         // PENDING(hania): Why are these WHEN_IN_FOCUSED_WINDOWs? Shouldn't
         // they be WHEN_ANCESTOR_OF_FOCUSED_COMPONENT?
@@ -437,13 +558,24 @@
         //SwingUtilities.replaceUIActionMap(frame, actionMap);
     }
 
+    /**
+     * Setup the menu close key.
+     */
     protected void setupMenuCloseKey(){
     }
 
+    /**
+     * Returns the north pane.
+     * @return the north pane
+     */
     public JComponent getNorthPane() {
         return northPane;
     }
 
+    /**
+     * Sets the north pane.
+     * @param c the new north pane
+     */
     public void setNorthPane(JComponent c) {
         if (northPane != null &&
                 northPane instanceof BasicInternalFrameTitlePane) {
@@ -456,30 +588,57 @@
         }
     }
 
+    /**
+     * Returns the south pane.
+     * @return the south pane
+     */
     public JComponent getSouthPane() {
         return southPane;
     }
 
+    /**
+     * Sets the south pane.
+     * @param c the new south pane
+     */
     public void setSouthPane(JComponent c) {
         southPane = c;
     }
 
+    /**
+     * Returns the west pane.
+     * @return the west pane
+     */
     public JComponent getWestPane() {
         return westPane;
     }
 
+    /**
+     * Sets the west pane.
+     * @param c the new west pane
+     */
     public void setWestPane(JComponent c) {
         westPane = c;
     }
 
+    /**
+     * Returns the east pane.
+     * @return the east pane
+     */
     public JComponent getEastPane() {
         return eastPane;
     }
 
+    /**
+     * Sets the east pane.
+     * @param c the new east pane
+     */
     public void setEastPane(JComponent c) {
         eastPane = c;
     }
 
+    /**
+     * Internal frame property change listener.
+     */
     public class InternalFramePropertyChangeListener implements
         PropertyChangeListener {
         // NOTE: This class exists only for backward compatibility. All
@@ -495,27 +654,45 @@
         }
     }
 
+    /**
+     * Internal frame layout.
+     */
   public class InternalFrameLayout implements LayoutManager {
     // NOTE: This class exists only for backward compatibility. All
     // its functionality has been moved into Handler. If you need to add
     // new functionality add it to the Handler, but make sure this
     // class calls into the Handler.
+      /**
+       * {@inheritDoc}
+       */
     public void addLayoutComponent(String name, Component c) {
         getHandler().addLayoutComponent(name, c);
     }
 
+      /**
+       * {@inheritDoc}
+       */
     public void removeLayoutComponent(Component c) {
         getHandler().removeLayoutComponent(c);
     }
 
+      /**
+       * {@inheritDoc}
+       */
     public Dimension preferredLayoutSize(Container c)  {
         return getHandler().preferredLayoutSize(c);
     }
 
+      /**
+       * {@inheritDoc}
+       */
     public Dimension minimumLayoutSize(Container c) {
         return getHandler().minimumLayoutSize(c);
     }
 
+      /**
+       * {@inheritDoc}
+       */
     public void layoutContainer(Container c) {
         getHandler().layoutContainer(c);
     }
@@ -527,6 +704,7 @@
      * find the JDesktop component and returns the desktopManager from
      * it. If this fails, it will return a default DesktopManager that
      * should work in arbitrary parents.
+     * @return the proper DesktopManager
      */
     protected DesktopManager getDesktopManager() {
         if(frame.getDesktopPane() != null
@@ -537,6 +715,10 @@
         return sharedDesktopManager;
     }
 
+    /**
+     * Creates the desktop manager.
+     * @return the desktop manager
+     */
     protected DesktopManager createDesktopManager(){
       return new DefaultDesktopManager();
     }
@@ -653,7 +835,7 @@
         Rectangle startingBounds;
         int resizeDir;
 
-
+        /** resize none */
         protected final int RESIZE_NONE  = 0;
         private boolean discardRelease = false;
 
@@ -1114,6 +1296,9 @@
 
     }    /// End BorderListener Class
 
+    /**
+     * Component handler.
+     */
     protected class ComponentHandler implements ComponentListener {
       // NOTE: This class exists only for backward compatibility. All
       // its functionality has been moved into Handler. If you need to add
@@ -1124,92 +1309,155 @@
           getHandler().componentResized(e);
       }
 
+        /**
+         * {@inheritDoc}
+         */
       public void componentMoved(ComponentEvent e) {
           getHandler().componentMoved(e);
       }
+        /**
+         * {@inheritDoc}
+         */
       public void componentShown(ComponentEvent e) {
           getHandler().componentShown(e);
       }
+        /**
+         * {@inheritDoc}
+         */
       public void componentHidden(ComponentEvent e) {
           getHandler().componentHidden(e);
       }
     }
 
+    /**
+     * Creates a component listener.
+     * @return a component listener
+     */
     protected ComponentListener createComponentListener() {
       return getHandler();
     }
 
 
+    /**
+     * Glass pane dispatcher.
+     */
     protected class GlassPaneDispatcher implements MouseInputListener {
         // NOTE: This class exists only for backward compatibility. All
         // its functionality has been moved into Handler. If you need to add
         // new functionality add it to the Handler, but make sure this
         // class calls into the Handler.
+        /**
+         * {@inheritDoc}
+         */
         public void mousePressed(MouseEvent e) {
             getHandler().mousePressed(e);
         }
 
+        /**
+         * {@inheritDoc}
+         */
         public void mouseEntered(MouseEvent e) {
             getHandler().mouseEntered(e);
         }
 
+        /**
+         * {@inheritDoc}
+         */
         public void mouseMoved(MouseEvent e) {
             getHandler().mouseMoved(e);
         }
 
+        /**
+         * {@inheritDoc}
+         */
         public void mouseExited(MouseEvent e) {
             getHandler().mouseExited(e);
         }
 
+        /**
+         * {@inheritDoc}
+         */
         public void mouseClicked(MouseEvent e) {
             getHandler().mouseClicked(e);
         }
 
+        /**
+         * {@inheritDoc}
+         */
         public void mouseReleased(MouseEvent e) {
             getHandler().mouseReleased(e);
         }
 
+        /**
+         * {@inheritDoc}
+         */
         public void mouseDragged(MouseEvent e) {
             getHandler().mouseDragged(e);
         }
     }
 
+    /**
+     * Creates a {@code GlassPaneDispatcher}.
+     * @return a {@code GlassPaneDispatcher}
+     */
     protected MouseInputListener createGlassPaneDispatcher() {
         return null;
     }
 
-
+    /**
+     * Basic internal frame listener.
+     */
     protected class BasicInternalFrameListener implements InternalFrameListener
     {
       // NOTE: This class exists only for backward compatibility. All
       // its functionality has been moved into Handler. If you need to add
       // new functionality add it to the Handler, but make sure this
       // class calls into the Handler.
+        /**
+         * {@inheritDoc}
+         */
       public void internalFrameClosing(InternalFrameEvent e) {
           getHandler().internalFrameClosing(e);
       }
 
+        /**
+         * {@inheritDoc}
+         */
       public void internalFrameClosed(InternalFrameEvent e) {
           getHandler().internalFrameClosed(e);
       }
 
+        /**
+         * {@inheritDoc}
+         */
       public void internalFrameOpened(InternalFrameEvent e) {
           getHandler().internalFrameOpened(e);
       }
 
+        /**
+         * {@inheritDoc}
+         */
       public void internalFrameIconified(InternalFrameEvent e) {
           getHandler().internalFrameIconified(e);
       }
 
+        /**
+         * {@inheritDoc}
+         */
       public void internalFrameDeiconified(InternalFrameEvent e) {
           getHandler().internalFrameDeiconified(e);
       }
 
+        /**
+         * {@inheritDoc}
+         */
       public void internalFrameActivated(InternalFrameEvent e) {
           getHandler().internalFrameActivated(e);
       }
 
-
+        /**
+         * {@inheritDoc}
+         */
       public void internalFrameDeactivated(InternalFrameEvent e) {
           getHandler().internalFrameDeactivated(e);
       }
--- a/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicMenuItemUI.java	Tue Apr 14 12:10:01 2015 -0700
+++ b/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicMenuItemUI.java	Tue Apr 14 14:47:12 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, 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
@@ -875,30 +875,38 @@
         if (dumpStack == true)
             Thread.dumpStack();
     }
+    /** Mouse input handler */
     protected class MouseInputHandler implements MouseInputListener {
         // NOTE: This class exists only for backward compatibility. All
         // its functionality has been moved into Handler. If you need to add
         // new functionality add it to the Handler, but make sure this
         // class calls into the Handler.
 
+        /** {@inheritDoc} */
         public void mouseClicked(MouseEvent e) {
             getHandler().mouseClicked(e);
         }
+        /** {@inheritDoc} */
         public void mousePressed(MouseEvent e) {
             getHandler().mousePressed(e);
         }
+        /** {@inheritDoc} */
         public void mouseReleased(MouseEvent e) {
             getHandler().mouseReleased(e);
         }
+        /** {@inheritDoc} */
         public void mouseEntered(MouseEvent e) {
             getHandler().mouseEntered(e);
         }
+        /** {@inheritDoc} */
         public void mouseExited(MouseEvent e) {
             getHandler().mouseExited(e);
         }
+        /** {@inheritDoc} */
         public void mouseDragged(MouseEvent e) {
             getHandler().mouseDragged(e);
         }
+        /** {@inheritDoc} */
         public void mouseMoved(MouseEvent e) {
             getHandler().mouseMoved(e);
         }
--- a/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicOptionPaneUI.java	Tue Apr 14 12:10:01 2015 -0700
+++ b/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicOptionPaneUI.java	Tue Apr 14 14:47:12 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, 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
@@ -136,7 +136,7 @@
 
     /**
      * Creates a new {@code BasicOptionPaneUI} instance.
-     *
+     * @param x the component
      * @return a new {@code BasicOptionPaneUI} instance
      */
     public static ComponentUI createUI(JComponent x) {
--- a/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicScrollBarUI.java	Tue Apr 14 12:10:01 2015 -0700
+++ b/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicScrollBarUI.java	Tue Apr 14 14:47:12 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, 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
@@ -60,35 +60,59 @@
 
     // NOTE: DO NOT use this field directly, SynthScrollBarUI assumes you'll
     // call getMinimumThumbSize to access it.
+    /** Minimum thumb size */
     protected Dimension minimumThumbSize;
+    /** Maximum thumb size */
     protected Dimension maximumThumbSize;
 
+    /** Thumb highlight color */
     protected Color thumbHighlightColor;
+    /** Thumb light shadow color */
     protected Color thumbLightShadowColor;
+    /** Thumb dark shadow color */
     protected Color thumbDarkShadowColor;
+    /** Thumb color */
     protected Color thumbColor;
+    /** Track color */
     protected Color trackColor;
+    /** Track highlight color */
     protected Color trackHighlightColor;
 
+    /** Scrollbar */
     protected JScrollBar scrollbar;
+    /** Increment button */
     protected JButton incrButton;
+    /** Decrement button */
     protected JButton decrButton;
+    /** Dragging */
     protected boolean isDragging;
+    /** Track listener */
     protected TrackListener trackListener;
+    /** Button listener */
     protected ArrowButtonListener buttonListener;
+    /** Model listener */
     protected ModelListener modelListener;
 
+    /** Thumb rectangle */
     protected Rectangle thumbRect;
+    /** Track rectangle */
     protected Rectangle trackRect;
 
+    /** Track highlight */
     protected int trackHighlight;
 
+    /** No highlight */
     protected static final int NO_HIGHLIGHT = 0;
+    /** Decrease highlight */
     protected static final int DECREASE_HIGHLIGHT = 1;
+    /** Increase highlight */
     protected static final int INCREASE_HIGHLIGHT = 2;
 
+    /** Scroll listener */
     protected ScrollListener scrollListener;
+    /** Property change listener */
     protected PropertyChangeListener propertyChangeListener;
+    /** Scroll timer */
     protected Timer scrollTimer;
 
     private final static int scrollSpeedThrottle = 60; // delay in milli seconds
@@ -148,12 +172,18 @@
         map.put(new Actions(Actions.MAX_SCROLL));
     }
 
-
+    /**
+     * Creates the UI.
+     * @param c the component
+     * @return the UI
+     */
     public static ComponentUI createUI(JComponent c)    {
         return new BasicScrollBarUI();
     }
 
-
+    /**
+     * Configures the scroll bar colors.
+     */
     protected void configureScrollBarColors()
     {
         LookAndFeel.installColors(scrollbar, "ScrollBar.background",
@@ -166,7 +196,10 @@
         trackHighlightColor = UIManager.getColor("ScrollBar.trackHighlight");
     }
 
-
+    /**
+     * Installs the UI.
+     * @param c the component
+     */
     public void installUI(JComponent c)   {
         scrollbar = (JScrollBar)c;
         thumbRect = new Rectangle(0, 0, 0, 0);
@@ -177,6 +210,10 @@
         installKeyboardActions();
     }
 
+    /**
+     * Uninstalls the UI.
+     * @param c the component
+     */
     public void uninstallUI(JComponent c) {
         scrollbar = (JScrollBar)c;
         uninstallListeners();
@@ -189,7 +226,9 @@
         decrButton = null;
     }
 
-
+    /**
+     * Installs the defaults.
+     */
     protected void installDefaults()
     {
         scrollBarWidth = UIManager.getInt("ScrollBar.width");
@@ -240,7 +279,9 @@
         }
     }
 
-
+    /**
+     * Installs the components.
+     */
     protected void installComponents(){
         switch (scrollbar.getOrientation()) {
         case JScrollBar.VERTICAL:
@@ -264,12 +305,17 @@
         scrollbar.setEnabled(scrollbar.isEnabled());
     }
 
+    /**
+     * Uninstalls the components.
+     */
     protected void uninstallComponents(){
         scrollbar.remove(incrButton);
         scrollbar.remove(decrButton);
     }
 
-
+    /**
+     * Installs the listeners.
+     */
     protected void installListeners(){
         trackListener = createTrackListener();
         buttonListener = createArrowButtonListener();
@@ -294,7 +340,9 @@
         scrollTimer.setInitialDelay(300);  // default InitialDelay?
     }
 
-
+    /**
+     * Installs the keyboard actions.
+     */
     protected void installKeyboardActions(){
         LazyActionMap.installLazyActionMap(scrollbar, BasicScrollBarUI.class,
                                            "ScrollBar.actionMap");
@@ -307,6 +355,9 @@
                    JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, inputMap);
     }
 
+    /**
+     * Uninstalls the keyboard actions.
+     */
     protected void uninstallKeyboardActions(){
         SwingUtilities.replaceUIInputMap(scrollbar, JComponent.WHEN_FOCUSED,
                                          null);
@@ -343,7 +394,9 @@
         return null;
     }
 
-
+    /**
+     * Uninstall the listeners.
+     */
     protected void uninstallListeners() {
         scrollTimer.stop();
         scrollTimer = null;
@@ -363,7 +416,9 @@
         handler = null;
     }
 
-
+    /**
+     * Uninstalls the defaults.
+     */
     protected void uninstallDefaults(){
         LookAndFeel.uninstallBorder(scrollbar);
         if (scrollbar.getLayout() == this) {
@@ -379,22 +434,42 @@
         return handler;
     }
 
+    /**
+     * Creates a track listener.
+     * @return a track listener
+     */
     protected TrackListener createTrackListener(){
         return new TrackListener();
     }
 
+    /**
+     * Creates an arrow button listener.
+     * @return an arrow button   listener
+     */
     protected ArrowButtonListener createArrowButtonListener(){
         return new ArrowButtonListener();
     }
 
+    /**
+     * Creates a model listener.
+     * @return a model listener
+     */
     protected ModelListener createModelListener(){
         return new ModelListener();
     }
 
+    /**
+     * Creates a scroll listener.
+     * @return a scroll listener
+     */
     protected ScrollListener createScrollListener(){
         return new ScrollListener();
     }
 
+    /**
+     * Creates a property change listener.
+     * @return a property change listener
+     */
     protected PropertyChangeListener createPropertyChangeListener() {
         return getHandler();
     }
@@ -470,6 +545,11 @@
         return new Dimension(Integer.MAX_VALUE, Integer.MAX_VALUE);
     }
 
+    /**
+     * Creates a decrease button.
+     * @param orientation the orientation
+     * @return a decrease button
+     */
     protected JButton createDecreaseButton(int orientation)  {
         return new BasicArrowButton(orientation,
                                     UIManager.getColor("ScrollBar.thumb"),
@@ -478,6 +558,11 @@
                                     UIManager.getColor("ScrollBar.thumbHighlight"));
     }
 
+    /**
+     * Creates an increase button.
+     * @param orientation the orientation
+     * @return an increase button
+     */
     protected JButton createIncreaseButton(int orientation)  {
         return new BasicArrowButton(orientation,
                                     UIManager.getColor("ScrollBar.thumb"),
@@ -487,6 +572,10 @@
     }
 
 
+    /**
+     * Paints the decrease highlight.
+     * @param g the graphics
+     */
     protected void paintDecreaseHighlight(Graphics g)
     {
         Insets insets = scrollbar.getInsets();
@@ -519,6 +608,10 @@
     }
 
 
+    /**
+     * Paints the increase highlight.
+     * @param g the graphics
+     */
     protected void paintIncreaseHighlight(Graphics g)
     {
         Insets insets = scrollbar.getInsets();
@@ -552,6 +645,12 @@
     }
 
 
+    /**
+     * Paints the track.
+     * @param g the graphics
+     * @param c the component
+     * @param trackBounds the track bounds
+     */
     protected void paintTrack(Graphics g, JComponent c, Rectangle trackBounds)
     {
         g.setColor(trackColor);
@@ -565,7 +664,12 @@
         }
     }
 
-
+    /**
+     * Paints the thumb.
+     * @param g the graphics
+     * @param c the component
+     * @param thumbBounds the thumb bounds
+     */
     protected void paintThumb(Graphics g, JComponent c, Rectangle thumbBounds)
     {
         if(thumbBounds.isEmpty() || !scrollbar.isEnabled())     {
@@ -644,6 +748,10 @@
         return (useCachedValue) ? scrollBarValue : sb.getValue();
     }
 
+    /**
+     * Laysouts a  vertical scroll bar.
+     * @param sb the scroll bar
+     */
     protected void layoutVScrollbar(JScrollBar sb)
     {
         Dimension sbSize = sb.getSize();
@@ -742,7 +850,10 @@
         }
     }
 
-
+    /**
+     * Laysouts a  vertical scroll bar.
+     * @param sb the scroll bar
+     */
     protected void layoutHScrollbar(JScrollBar sb)
     {
         Dimension sbSize = sb.getSize();
@@ -966,6 +1077,10 @@
             scrollbar.setValue(newValue);
     }
 
+    /**
+     * Scrolls by block.
+     * @param direction the direction to scroll
+     */
     protected void scrollByBlock(int direction)
     {
         scrollByBlock(scrollbar, direction);
@@ -1033,6 +1148,10 @@
         }
     }
 
+    /**
+     * Scrolls by unit.
+     * @param direction the direction to scroll
+     */
     protected void scrollByUnit(int direction)  {
         scrollByUnits(scrollbar, direction, 1, false);
     }
@@ -1050,7 +1169,6 @@
 
     /**
      * A listener to listen for model changes.
-     *
      */
     protected class ModelListener implements ChangeListener {
         public void stateChanged(ChangeEvent e) {
@@ -1069,10 +1187,15 @@
     protected class TrackListener
         extends MouseAdapter implements MouseMotionListener
     {
+        /** The offset */
         protected transient int offset;
-        protected transient int currentMouseX, currentMouseY;
+        /** Current mouse x position */
+        protected transient int currentMouseX;
+        /** Current mouse y position */
+        protected transient int currentMouseY;
         private transient int direction = +1;
 
+        /** {@inheritDoc} */
         public void mouseReleased(MouseEvent e)
         {
             if (isDragging) {
@@ -1339,6 +1462,7 @@
             }
         }
 
+        /** {@inheritDoc} */
         public void mouseMoved(MouseEvent e) {
             if (!isDragging) {
                 updateThumbState(e.getX(), e.getY());
@@ -1406,19 +1530,34 @@
         int direction = +1;
         boolean useBlockIncrement;
 
+        /** Constructs a {@code ScrollListener}. */
         public ScrollListener() {
             direction = +1;
             useBlockIncrement = false;
         }
 
+        /**
+         * Constructs a {@code ScrollListener}.
+         * @param dir direction
+         * @param block use block increment
+         */
         public ScrollListener(int dir, boolean block)   {
             direction = dir;
             useBlockIncrement = block;
         }
 
+        /**
+         * Sets the direction.
+         * @param direction the new direction
+         */
         public void setDirection(int direction) { this.direction = direction; }
+        /**
+         * Sets the scrolling by block
+         * @param block whether or not to scroll by block
+         */
         public void setScrollByBlock(boolean block) { this.useBlockIncrement = block; }
 
+        /** {@inheritDoc} */
         public void actionPerformed(ActionEvent e) {
             if(useBlockIncrement)       {
                 scrollByBlock(direction);
@@ -1497,13 +1636,14 @@
         }
     }
 
+    /** Property change handler */
     public class PropertyChangeHandler implements PropertyChangeListener
     {
         // NOTE: This class exists only for backward compatibility. All
         // its functionality has been moved into Handler. If you need to add
         // new functionality add it to the Handler, but make sure this
         // class calls into the Handler.
-
+        /** {@inheritDoc} */
         public void propertyChange(PropertyChangeEvent e) {
             getHandler().propertyChange(e);
         }
--- a/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicScrollPaneUI.java	Tue Apr 14 12:10:01 2015 -0700
+++ b/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicScrollPaneUI.java	Tue Apr 14 14:47:12 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, 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
@@ -746,6 +746,9 @@
         }
     }
 
+    /**
+     * Property change handler.
+     */
     public class PropertyChangeHandler implements PropertyChangeListener
     {
 
@@ -754,6 +757,9 @@
         // new functionality add it to the Handler, but make sure this
         // class calls into the Handler.
 
+        /**
+         * {@inheritDoc}
+         */
         public void propertyChange(PropertyChangeEvent e)
         {
             getHandler().propertyChange(e);
--- a/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicSliderUI.java	Tue Apr 14 12:10:01 2015 -0700
+++ b/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicSliderUI.java	Tue Apr 14 14:47:12 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, 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
@@ -47,33 +47,55 @@
     // Old actions forward to an instance of this.
     private static final Actions SHARED_ACTION = new Actions();
 
+    /** Positive scroll */
     public static final int POSITIVE_SCROLL = +1;
+    /** Negative scroll */
     public static final int NEGATIVE_SCROLL = -1;
+    /** Minimum scroll */
     public static final int MIN_SCROLL = -2;
+    /** Maximum scroll */
     public static final int MAX_SCROLL = +2;
 
+    /** Scroll timer */
     protected Timer scrollTimer;
+    /** Slider */
     protected JSlider slider;
 
+    /** Focus insets */
     protected Insets focusInsets = null;
+    /** Inset cache */
     protected Insets insetCache = null;
+    /** Left-to-right cache */
     protected boolean leftToRightCache = true;
+    /** Focus rectangle */
     protected Rectangle focusRect = null;
+    /** Content rectangle */
     protected Rectangle contentRect = null;
+    /** Label rectangle */
     protected Rectangle labelRect = null;
+    /** Tick rectangle */
     protected Rectangle tickRect = null;
+    /** Track rectangle */
     protected Rectangle trackRect = null;
+    /** Thumb rectangle */
     protected Rectangle thumbRect = null;
 
-    protected int trackBuffer = 0;  // The distance that the track is from the side of the control
+    /** The distance that the track is from the side of the control */
+    protected int trackBuffer = 0;
 
     private transient boolean isDragging;
 
+    /** Track listener */
     protected TrackListener trackListener;
+    /** Change listener */
     protected ChangeListener changeListener;
+    /** Component listener */
     protected ComponentListener componentListener;
+    /** Focus listener */
     protected FocusListener focusListener;
+    /** Scroll listener */
     protected ScrollListener scrollListener;
+    /** Property chane listener */
     protected PropertyChangeListener propertyChangeListener;
     private Handler handler;
     private int lastValue;
@@ -93,15 +115,26 @@
      */
     private boolean sameLabelBaselines;
 
-
+    /**
+     * Returns the shadow color.
+     * @return the shadow color
+     */
     protected Color getShadowColor() {
         return shadowColor;
     }
 
+    /**
+     * Returns the highlight color.
+     * @return the highlight color
+     */
     protected Color getHighlightColor() {
         return highlightColor;
     }
 
+    /**
+     * Returns the focus color.
+     * @return the focus color
+     */
     protected Color getFocusColor() {
         return focusColor;
     }
@@ -119,13 +152,26 @@
     /////////////////////////////////////////////////////////////////////////////
     // ComponentUI Interface Implementation methods
     /////////////////////////////////////////////////////////////////////////////
+    /**
+     * Creates a UI.
+     * @param b a component
+     * @return a UI
+     */
     public static ComponentUI createUI(JComponent b)    {
         return new BasicSliderUI((JSlider)b);
     }
 
+    /**
+     * Constructs a {@code BasicSliderUI}.
+     * @param b a slider
+     */
     public BasicSliderUI(JSlider b)   {
     }
 
+    /**
+     * Installs a UI.
+     * @param c a component
+     */
     public void installUI(JComponent c)   {
         slider = (JSlider) c;
 
@@ -162,6 +208,10 @@
         calculateGeometry(); // This figures out where the labels, ticks, track, and thumb are.
     }
 
+    /**
+     * Uninstalls a UI.
+     * @param c a component
+     */
     public void uninstallUI(JComponent c) {
         if ( c != slider )
             throw new IllegalComponentStateException(
@@ -193,6 +243,10 @@
         slider = null;
     }
 
+    /**
+     * Installs the defaults.
+     * @param slider a slider
+     */
     protected void installDefaults( JSlider slider ) {
         LookAndFeel.installBorder(slider, "Slider.border");
         LookAndFeel.installColorsAndFont(slider, "Slider.background",
@@ -208,32 +262,66 @@
         if (focusInsets == null) focusInsets = new InsetsUIResource(2,2,2,2);
     }
 
+    /**
+     * Uninstalls the defaults.
+     * @param slider a slider
+     */
     protected void uninstallDefaults(JSlider slider) {
         LookAndFeel.uninstallBorder(slider);
 
         focusInsets = null;
     }
 
+    /**
+     * Creates a track listener.
+     * @return a track listener
+     * @param slider a slider
+     */
     protected TrackListener createTrackListener(JSlider slider) {
         return new TrackListener();
     }
 
+    /**
+     * Creates a change listener.
+     * @return a change listener
+     * @param slider a slider
+     */
     protected ChangeListener createChangeListener(JSlider slider) {
         return getHandler();
     }
 
+    /**
+     * Creates a composite listener.
+     * @return a composite listener
+     * @param slider a slider
+     */
     protected ComponentListener createComponentListener(JSlider slider) {
         return getHandler();
     }
 
+    /**
+     * Creates a focus listener.
+     * @return a focus listener
+     * @param slider a slider
+     */
     protected FocusListener createFocusListener(JSlider slider) {
         return getHandler();
     }
 
+    /**
+     * Creates a scroll listener.
+     * @return a scroll listener
+     * @param slider a slider
+     */
     protected ScrollListener createScrollListener( JSlider slider ) {
         return new ScrollListener();
     }
 
+    /**
+     * Creates a property change listener.
+     * @return a property change listener
+     * @param slider a slider
+     */
     protected PropertyChangeListener createPropertyChangeListener(
             JSlider slider) {
         return getHandler();
@@ -246,6 +334,10 @@
         return handler;
     }
 
+    /**
+     * Installs listeners.
+     * @param slider a slider
+     */
     protected void installListeners( JSlider slider ) {
         slider.addMouseListener(trackListener);
         slider.addMouseMotionListener(trackListener);
@@ -255,6 +347,10 @@
         slider.getModel().addChangeListener(changeListener);
     }
 
+    /**
+     * Uninstalls listeners.
+     * @param slider a slider
+     */
     protected void uninstallListeners( JSlider slider ) {
         slider.removeMouseListener(trackListener);
         slider.removeMouseMotionListener(trackListener);
@@ -265,6 +361,10 @@
         handler = null;
     }
 
+    /**
+     * Installs keyboard actions.
+     * @param slider a slider
+     */
     protected void installKeyboardActions( JSlider slider ) {
         InputMap km = getInputMap(JComponent.WHEN_FOCUSED, slider);
         SwingUtilities.replaceUIInputMap(slider, JComponent.WHEN_FOCUSED, km);
@@ -302,6 +402,10 @@
         map.put(new Actions(Actions.MAX_SCROLL_INCREMENT));
     }
 
+    /**
+     * Uninstalls keyboard actions.
+     * @param slider a slider
+     */
     protected void uninstallKeyboardActions( JSlider slider ) {
         SwingUtilities.replaceUIActionMap(slider, null);
         SwingUtilities.replaceUIInputMap(slider, JComponent.WHEN_FOCUSED,
@@ -430,6 +534,10 @@
         return sameLabelBaselines;
     }
 
+    /**
+     * Returns the preferred horizontal size.
+     * @return the preferred horizontal size
+     */
     public Dimension getPreferredHorizontalSize() {
         Dimension horizDim = (Dimension)DefaultLookup.get(slider,
                 this, "Slider.horizontalSize");
@@ -439,6 +547,10 @@
         return horizDim;
     }
 
+    /**
+     * Returns the preferred vertical size.
+     * @return the preferred vertical size
+     */
     public Dimension getPreferredVerticalSize() {
         Dimension vertDim = (Dimension)DefaultLookup.get(slider,
                 this, "Slider.verticalSize");
@@ -448,6 +560,10 @@
         return vertDim;
     }
 
+    /**
+     * Returns the minimum horizontal size.
+     * @return the minimum horizontal size
+     */
     public Dimension getMinimumHorizontalSize() {
         Dimension minHorizDim = (Dimension)DefaultLookup.get(slider,
                 this, "Slider.minimumHorizontalSize");
@@ -457,6 +573,10 @@
         return minHorizDim;
     }
 
+    /**
+     * Returns the minimum vertical size.
+     * @return the minimum vertical size
+     */
     public Dimension getMinimumVerticalSize() {
         Dimension minVertDim = (Dimension)DefaultLookup.get(slider,
                 this, "Slider.minimumVerticalSize");
@@ -466,6 +586,11 @@
         return minVertDim;
     }
 
+    /**
+     * Returns the preferred size.
+     * @param c a component
+     * @return the preferred size
+     */
     public Dimension getPreferredSize(JComponent c)    {
         recalculateIfInsetsChanged();
         Dimension d;
@@ -485,6 +610,11 @@
         return d;
     }
 
+    /**
+     * Returns the minimum size.
+     * @param c a component
+     * @return the minimum size
+     */
     public Dimension getMinimumSize(JComponent c)  {
         recalculateIfInsetsChanged();
         Dimension d;
@@ -505,6 +635,11 @@
         return d;
     }
 
+    /**
+     * Returns the maximum size.
+     * @param c a component
+     * @return the maximum size
+     */
     public Dimension getMaximumSize(JComponent c) {
         Dimension d = getPreferredSize(c);
         if ( slider.getOrientation() == JSlider.VERTICAL ) {
@@ -517,6 +652,9 @@
         return d;
     }
 
+    /**
+     * Calculates the geometry.
+     */
     protected void calculateGeometry() {
         calculateFocusRect();
         calculateContentRect();
@@ -528,6 +666,9 @@
         calculateThumbLocation();
     }
 
+    /**
+     * Calculates the focus rectangle.
+     */
     protected void calculateFocusRect() {
         focusRect.x = insetCache.left;
         focusRect.y = insetCache.top;
@@ -535,11 +676,17 @@
         focusRect.height = slider.getHeight() - (insetCache.top + insetCache.bottom);
     }
 
+    /**
+     * Calculates the thumb size rectangle.
+     */
     protected void calculateThumbSize() {
         Dimension size = getThumbSize();
         thumbRect.setSize( size.width, size.height );
     }
 
+    /**
+     * Calculates the content rectangle.
+     */
     protected void calculateContentRect() {
         contentRect.x = focusRect.x + focusInsets.left;
         contentRect.y = focusRect.y + focusInsets.top;
@@ -564,6 +711,9 @@
         return result;
     }
 
+    /**
+     * Calculates the thumb location.
+     */
     protected void calculateThumbLocation() {
         if ( slider.getSnapToTicks() ) {
             int sliderValue = slider.getValue();
@@ -603,6 +753,9 @@
         }
     }
 
+    /**
+     * Calculates the track buffer.
+     */
     protected void calculateTrackBuffer() {
         if ( slider.getPaintLabels() && slider.getLabelTable()  != null ) {
             Component highLabel = getHighestValueLabel();
@@ -627,7 +780,9 @@
         }
     }
 
-
+    /**
+     * Calculates the track rectangle.
+     */
     protected void calculateTrackRect() {
         int centerSpacing; // used to center sliders added using BorderLayout.CENTER (bug 4275631)
         if ( slider.getOrientation() == JSlider.HORIZONTAL ) {
@@ -671,6 +826,9 @@
         return 8;
     }
 
+    /**
+     * Calculates the tick rectangle.
+     */
     protected void calculateTickRect() {
         if ( slider.getOrientation() == JSlider.HORIZONTAL ) {
             tickRect.x = trackRect.x;
@@ -691,6 +849,9 @@
         }
     }
 
+    /**
+     * Calculates the label rectangle.
+     */
     protected void calculateLabelRect() {
         if ( slider.getPaintLabels() ) {
             if ( slider.getOrientation() == JSlider.HORIZONTAL ) {
@@ -733,6 +894,10 @@
         }
     }
 
+    /**
+     * Returns the thumb size.
+     * @return the thumb size
+     */
     protected Dimension getThumbSize() {
         Dimension size = new Dimension();
 
@@ -748,16 +913,24 @@
         return size;
     }
 
+    /**
+     * A property change handler.
+     */
     public class PropertyChangeHandler implements PropertyChangeListener {
         // NOTE: This class exists only for backward compatibility. All
         // its functionality has been moved into Handler. If you need to add
         // new functionality add it to the Handler, but make sure this
         // class calls into the Handler.
+        /** {@inheritDoc} */
         public void propertyChange( PropertyChangeEvent e ) {
             getHandler().propertyChange(e);
         }
     }
 
+    /**
+     * Returns the width of the widest label.
+     * @return the width of the widest label
+     */
     protected int getWidthOfWidestLabel() {
         @SuppressWarnings("rawtypes")
         Dictionary dictionary = slider.getLabelTable();
@@ -772,6 +945,10 @@
         return widest;
     }
 
+    /**
+     * Returns the height of the tallest label.
+     * @return the height of the tallest label
+     */
     protected int getHeightOfTallestLabel() {
         @SuppressWarnings("rawtypes")
         Dictionary dictionary = slider.getLabelTable();
@@ -786,6 +963,10 @@
         return tallest;
     }
 
+    /**
+     * Returns the width of the highest value label.
+     * @return the width of the highest value label
+     */
     protected int getWidthOfHighValueLabel() {
         Component label = getHighestValueLabel();
         int width = 0;
@@ -797,6 +978,10 @@
         return width;
     }
 
+    /**
+     * Returns the width of the lowest value label.
+     * @return the width of the lowest value label
+     */
     protected int getWidthOfLowValueLabel() {
         Component label = getLowestValueLabel();
         int width = 0;
@@ -808,6 +993,10 @@
         return width;
     }
 
+    /**
+     * Returns the height of the highest value label.
+     * @return the height of the highest value label
+     */
     protected int getHeightOfHighValueLabel() {
         Component label = getHighestValueLabel();
         int height = 0;
@@ -819,6 +1008,10 @@
         return height;
     }
 
+    /**
+     * Returns the height of the lowest value label.
+     * @return the height of the lowest value label
+     */
     protected int getHeightOfLowValueLabel() {
         Component label = getLowestValueLabel();
         int height = 0;
@@ -830,6 +1023,10 @@
         return height;
     }
 
+    /**
+     * Draws inverted.
+     * @return the inverted-ness
+     */
     protected boolean drawInverted() {
         if (slider.getOrientation()==JSlider.HORIZONTAL) {
             if(BasicGraphicsUtils.isLeftToRight(slider)) {
@@ -960,6 +1157,9 @@
         }
     }
 
+    /**
+     * Recalculates if the insets have changed.
+     */
     protected void recalculateIfInsetsChanged() {
         Insets newInsets = slider.getInsets();
         if ( !newInsets.equals( insetCache ) ) {
@@ -968,6 +1168,9 @@
         }
     }
 
+    /**
+     * Recalculates if the orientation has changed.
+     */
     protected void recalculateIfOrientationChanged() {
         boolean ltr = BasicGraphicsUtils.isLeftToRight(slider);
         if ( ltr!=leftToRightCache ) {
@@ -976,6 +1179,10 @@
         }
     }
 
+    /**
+     * Paints focus.
+     * @param g the graphics
+     */
     public void paintFocus(Graphics g)  {
         g.setColor( getFocusColor() );
 
@@ -983,6 +1190,10 @@
                                            focusRect.width, focusRect.height );
     }
 
+    /**
+     * Paints track.
+     * @param g the graphics
+     */
     public void paintTrack(Graphics g)  {
 
         Rectangle trackBounds = trackRect;
@@ -1023,6 +1234,10 @@
         }
     }
 
+    /**
+     * Paints ticks.
+     * @param g the graphics
+     */
     public void paintTicks(Graphics g)  {
         Rectangle tickBounds = tickRect;
 
@@ -1120,22 +1335,50 @@
         }
     }
 
+    /**
+     * Paints minor tick for horizontal slider.
+     * @param g the graphics
+     * @param tickBounds the tick bounds
+     * @param x the x coordinate
+     */
     protected void paintMinorTickForHorizSlider( Graphics g, Rectangle tickBounds, int x ) {
         g.drawLine( x, 0, x, tickBounds.height / 2 - 1 );
     }
 
+    /**
+     * Paints major tick for horizontal slider.
+     * @param g the graphics
+     * @param tickBounds the tick bounds
+     * @param x the x coordinate
+     */
     protected void paintMajorTickForHorizSlider( Graphics g, Rectangle tickBounds, int x ) {
         g.drawLine( x, 0, x, tickBounds.height - 2 );
     }
 
+    /**
+     * Paints minor tick for vertical slider.
+     * @param g the graphics
+     * @param tickBounds the tick bounds
+     * @param y the y coordinate
+     */
     protected void paintMinorTickForVertSlider( Graphics g, Rectangle tickBounds, int y ) {
         g.drawLine( 0, y, tickBounds.width / 2 - 1, y );
     }
 
+    /**
+     * Paints major tick for vertical slider.
+     * @param g the graphics
+     * @param tickBounds the tick bounds
+     * @param y the y coordinate
+     */
     protected void paintMajorTickForVertSlider( Graphics g, Rectangle tickBounds, int y ) {
         g.drawLine( 0, y,  tickBounds.width - 2, y );
     }
 
+    /**
+     * Paints the labels.
+     * @param g the graphics
+     */
     public void paintLabels( Graphics g ) {
         Rectangle labelBounds = labelRect;
 
@@ -1222,6 +1465,10 @@
         g.translate( 0, -labelTop );
     }
 
+    /**
+     * Paints the thumb.
+     * @param g the graphics
+     */
     public void paintThumb(Graphics g)  {
         Rectangle knobBounds = thumbRect;
         int w = knobBounds.width;
@@ -1330,6 +1577,11 @@
     // Used exclusively by setThumbLocation()
     private static Rectangle unionRect = new Rectangle();
 
+    /**
+     * Sets the thumb location.
+     * @param x the x coordinate
+     * @param y the y coordinate
+     */
     public void setThumbLocation(int x, int y)  {
         unionRect.setBounds( thumbRect );
 
@@ -1339,6 +1591,10 @@
         slider.repaint( unionRect.x, unionRect.y, unionRect.width, unionRect.height );
     }
 
+    /**
+     * Scrolls by block.
+     * @param direction the direction
+     */
     public void scrollByBlock(int direction)    {
         synchronized(slider)    {
             int blockIncrement =
@@ -1360,6 +1616,10 @@
         }
     }
 
+    /**
+     * Scrolls by unit.
+     * @param direction the direction
+     */
     public void scrollByUnit(int direction) {
         synchronized(slider)    {
             int delta = ((direction > 0) ? POSITIVE_SCROLL : NEGATIVE_SCROLL);
@@ -1384,6 +1644,11 @@
         scrollByBlock( dir );
     }
 
+    /**
+     * Returns the x position for a value.
+     * @param value the value
+     * @return the x position for a value
+     */
     protected int xPositionForValue( int value )    {
         int min = slider.getMinimum();
         int max = slider.getMaximum();
@@ -1409,6 +1674,11 @@
         return xPosition;
     }
 
+    /**
+     * Returns the y position for a value.
+     * @param value the value
+     * @return the y position for a value
+     */
     protected int yPositionForValue( int value )  {
         return yPositionForValue(value, trackRect.y, trackRect.height);
     }
@@ -1605,9 +1875,16 @@
      * Instantiate it only within subclasses of <code>Foo</code>.
      */
     public class TrackListener extends MouseInputAdapter {
+        /** The offset */
         protected transient int offset;
-        protected transient int currentMouseX, currentMouseY;
+        /** Current mouse x. */
+        protected transient int currentMouseX;
+        /** Current mouse y. */
+        protected transient int currentMouseY;
 
+        /**
+         * {@inheritDoc}
+         */
         public void mouseReleased(MouseEvent e) {
             if (!slider.isEnabled()) {
                 return;
@@ -1736,6 +2013,11 @@
             }
         }
 
+        /**
+         * Returns if scrolling should occur
+         * @param direction the direction.
+         * @return if scrolling should occur
+         */
         public boolean shouldScroll(int direction) {
             Rectangle r = thumbRect;
             if (slider.getOrientation() == JSlider.VERTICAL) {
@@ -1772,9 +2054,9 @@
         }
 
         /**
-        * Set the models value to the position of the top/left
-        * of the thumb relative to the origin of the track.
-        */
+         * Set the models value to the position of the top/left
+         * of the thumb relative to the origin of the track.
+         */
         public void mouseDragged(MouseEvent e) {
             int thumbMiddle;
 
@@ -1839,6 +2121,7 @@
             }
         }
 
+        /** {@inheritDoc} */
         public void mouseMoved(MouseEvent e) { }
     }
 
@@ -1855,24 +2138,41 @@
         int direction = POSITIVE_SCROLL;
         boolean useBlockIncrement;
 
+        /**
+         * Constructs a {@code ScrollListener}
+         */
         public ScrollListener() {
             direction = POSITIVE_SCROLL;
             useBlockIncrement = true;
         }
 
+        /**
+         * Constructs a {@code ScrollListener}
+         * @param dir the direction
+         * @param block whether or not to scroll by block
+         */
         public ScrollListener(int dir, boolean block)   {
             direction = dir;
             useBlockIncrement = block;
         }
 
+        /**
+         * Sets the direction.
+         * @param direction the new direction
+         */
         public void setDirection(int direction) {
             this.direction = direction;
         }
 
+        /**
+         * Sets scrolling by block
+         * @param block the new scroll by block value
+         */
         public void setScrollByBlock(boolean block) {
             this.useBlockIncrement = block;
         }
 
+        /** {@inheritDoc} */
         public void actionPerformed(ActionEvent e) {
             if (useBlockIncrement) {
                 scrollByBlock(direction);
@@ -1945,16 +2245,24 @@
         boolean block;
         JSlider slider;
 
+        /**
+         * Constructs an {@code ActionScroller}.
+         * @param slider a slider
+         * @param dir the direction
+         * @param block block scrolling or not
+         */
         public ActionScroller( JSlider slider, int dir, boolean block) {
             this.dir = dir;
             this.block = block;
             this.slider = slider;
         }
 
+        /** {@inheritDoc} */
         public void actionPerformed(ActionEvent e) {
             SHARED_ACTION.scroll(slider, BasicSliderUI.this, dir, block);
         }
 
+        /** {@inheritDoc} */
         public boolean isEnabled() {
             boolean b = true;
             if (slider != null) {
--- a/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTabbedPaneUI.java	Tue Apr 14 12:10:01 2015 -0700
+++ b/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTabbedPaneUI.java	Tue Apr 14 14:47:12 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, 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
@@ -56,22 +56,33 @@
 
 // Instance variables initialized at installation
 
+    /** The tab pane */
     protected JTabbedPane tabPane;
 
+    /** Highlight color */
     protected Color highlight;
+    /** Light highlight color */
     protected Color lightHighlight;
+    /** Shadow color */
     protected Color shadow;
+    /** Dark shadow color */
     protected Color darkShadow;
+    /** Focus color */
     protected Color focus;
     private   Color selectedColor;
 
+    /** Text icon gap */
     protected int textIconGap;
-
+    /** Tab run overlay */
     protected int tabRunOverlay;
 
+    /** Tab insets */
     protected Insets tabInsets;
+    /** Selected tab insets */
     protected Insets selectedTabPadInsets;
+    /** Tab area insets */
     protected Insets tabAreaInsets;
+    /** Content border insets */
     protected Insets contentBorderInsets;
     private boolean tabsOverlapBorder;
     private boolean tabsOpaque = true;
@@ -120,19 +131,28 @@
 
 
 // Transient variables (recalculated each time TabbedPane is layed out)
-
+    /** Tab runs */
     protected int tabRuns[] = new int[10];
+    /** Run count */
     protected int runCount = 0;
+    /** Selected run */
     protected int selectedRun = -1;
+    /** Tab rects */
     protected Rectangle rects[] = new Rectangle[0];
+    /** Maximum tab height */
     protected int maxTabHeight;
+    /** Maximum tab width */
     protected int maxTabWidth;
 
 // Listeners
 
+    /** Tab change listener */
     protected ChangeListener tabChangeListener;
+    /** Property change listener */
     protected PropertyChangeListener propertyChangeListener;
+    /** Mouse change listener */
     protected MouseListener mouseListener;
+    /** Focus change listener */
     protected FocusListener focusListener;
 
 // Private instance data
@@ -190,6 +210,11 @@
 
 // UI creation
 
+    /**
+     * Create a UI.
+     * @param c a component
+     * @return a UI
+     */
     public static ComponentUI createUI(JComponent c) {
         return new BasicTabbedPaneUI();
     }
@@ -355,6 +380,9 @@
          tabContainer = null;
     }
 
+    /**
+     * Install the defaults.
+     */
     protected void installDefaults() {
         LookAndFeel.installColorsAndFont(tabPane, "TabbedPane.background",
                                     "TabbedPane.foreground", "TabbedPane.font");
@@ -389,6 +417,9 @@
         if (contentBorderInsets == null) contentBorderInsets = new Insets(2,2,3,3);
     }
 
+    /**
+     * Uninstall the defaults.
+     */
     protected void uninstallDefaults() {
         highlight = null;
         lightHighlight = null;
@@ -401,6 +432,9 @@
         contentBorderInsets = null;
     }
 
+    /**
+     * Install the listeners.
+     */
     protected void installListeners() {
         if ((propertyChangeListener = createPropertyChangeListener()) != null) {
             tabPane.addPropertyChangeListener(propertyChangeListener);
@@ -421,6 +455,9 @@
         }
     }
 
+    /**
+     * Uninstall the listeners.
+     */
     protected void uninstallListeners() {
         if (mouseListener != null) {
             tabPane.removeMouseListener(mouseListener);
@@ -448,18 +485,34 @@
         handler = null;
     }
 
+    /**
+     * Creates a mouse listener.
+     * @return a mouse listener
+     */
     protected MouseListener createMouseListener() {
         return getHandler();
     }
 
+    /**
+     * Creates a focus listener.
+     * @return a focus listener
+     */
     protected FocusListener createFocusListener() {
         return getHandler();
     }
 
+    /**
+     * Creates a change listener.
+     * @return a change listener
+     */
     protected ChangeListener createChangeListener() {
         return getHandler();
     }
 
+    /**
+     * Creates a property change listener.
+     * @return a property change listener
+     */
     protected PropertyChangeListener createPropertyChangeListener() {
         return getHandler();
     }
@@ -471,6 +524,9 @@
         return handler;
     }
 
+    /**
+     * Installs the keyboard actions.
+     */
     protected void installKeyboardActions() {
         InputMap km = getInputMap(JComponent.
                                   WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
@@ -498,6 +554,9 @@
         return null;
     }
 
+    /**
+     * Uninstalls the keyboard actions.
+     */
     protected void uninstallKeyboardActions() {
         SwingUtilities.replaceUIActionMap(tabPane, null);
         SwingUtilities.replaceUIInputMap(tabPane, JComponent.
@@ -844,6 +903,15 @@
         }
     }
 
+    /**
+     * Paints a tab.
+     * @param g the graphics
+     * @param tabPlacement the tab placement
+     * @param rects rectangles
+     * @param tabIndex the tab index
+     * @param iconRect the icon rectangle
+     * @param textRect the text rectangle
+     */
     protected void paintTab(Graphics g, int tabPlacement,
                             Rectangle[] rects, int tabIndex,
                             Rectangle iconRect, Rectangle textRect) {
@@ -1012,6 +1080,18 @@
         }
     }
 
+    /**
+     * Laysout a label.
+     * @param tabPlacement the tab placement
+     * @param metrics the font metric
+     * @param tabIndex the tab index
+     * @param title the title
+     * @param icon the icon
+     * @param tabRect the tab rectangle
+     * @param iconRect the icon rectangle
+     * @param textRect the text rectangle
+     * @param isSelected selection status
+     */
     protected void layoutLabel(int tabPlacement,
                                FontMetrics metrics, int tabIndex,
                                String title, Icon icon,
@@ -1045,6 +1125,15 @@
         textRect.y += yNudge;
     }
 
+    /**
+     * Paints an icon.
+     * @param g the graphics
+     * @param tabPlacement the tab placement
+     * @param tabIndex the tab index
+     * @param icon the icon
+     * @param iconRect the icon rectangle
+     * @param isSelected selection status
+     */
     protected void paintIcon(Graphics g, int tabPlacement,
                              int tabIndex, Icon icon, Rectangle iconRect,
                              boolean isSelected ) {
@@ -1053,6 +1142,17 @@
         }
     }
 
+    /**
+     * Paints text.
+     * @param g the graphics
+     * @param tabPlacement the tab placement
+     * @param font the font
+     * @param metrics the font metrics
+     * @param tabIndex the tab index
+     * @param title the title
+     * @param textRect the text rectangle
+     * @param isSelected selection status
+     */
     protected void paintText(Graphics g, int tabPlacement,
                              Font font, FontMetrics metrics, int tabIndex,
                              String title, Rectangle textRect,
@@ -1096,7 +1196,13 @@
         }
     }
 
-
+    /**
+     * Returns the tab label shift x.
+     * @param tabPlacement the tab placement
+     * @param tabIndex the tab index
+     * @param isSelected selection status
+     * @return the tab label shift x
+     */
     protected int getTabLabelShiftX(int tabPlacement, int tabIndex, boolean isSelected) {
         Rectangle tabRect = rects[tabIndex];
         String propKey = (isSelected ? "selectedLabelShift" : "labelShift");
@@ -1115,6 +1221,13 @@
         }
     }
 
+    /**
+     * Returns the tab label shift y.
+     * @param tabPlacement the tab placement
+     * @param tabIndex the tab index
+     * @param isSelected selection status
+     * @return the tab label shift y
+     */
     protected int getTabLabelShiftY(int tabPlacement, int tabIndex, boolean isSelected) {
         Rectangle tabRect = rects[tabIndex];
         int nudge = (isSelected ? DefaultLookup.getInt(tabPane, this, "TabbedPane.selectedLabelShift", -1) :
@@ -1132,6 +1245,16 @@
         }
     }
 
+    /**
+     * Paints the focus indicator.
+     * @param g the graphics
+     * @param tabPlacement the tab placement
+     * @param rects rectangles
+     * @param tabIndex the tab index
+     * @param iconRect the icon rectangle
+     * @param textRect the text rectangle
+     * @param isSelected selection status
+     */
     protected void paintFocusIndicator(Graphics g, int tabPlacement,
                                        Rectangle[] rects, int tabIndex,
                                        Rectangle iconRect, Rectangle textRect,
@@ -1245,6 +1368,18 @@
         }
     }
 
+    /**
+     * Paints the tab background.
+     * @param g             the graphics context in which to paint
+     * @param tabPlacement  the placement (left, right, bottom, top) of the tab
+     * @param tabIndex      the index of the tab with respect to other tabs
+     * @param x             the x coordinate of tab
+     * @param y             the y coordinate of tab
+     * @param w             the width of the tab
+     * @param h             the height of the tab
+     * @param isSelected    a {@code boolean} which determines whether or not
+     * the tab is selected
+     */
     protected void paintTabBackground(Graphics g, int tabPlacement,
                                       int tabIndex,
                                       int x, int y, int w, int h,
@@ -1267,6 +1402,12 @@
         }
     }
 
+    /**
+     * Paints the content border.
+     * @param g             the graphics context in which to paint
+     * @param tabPlacement  the placement (left, right, bottom, top) of the tab
+     * @param selectedIndex the tab index of the selected component
+     */
     protected void paintContentBorder(Graphics g, int tabPlacement, int selectedIndex) {
         int width = tabPane.getWidth();
         int height = tabPane.getHeight();
@@ -1329,6 +1470,16 @@
 
     }
 
+    /**
+     * Paints the content border top edge.
+     * @param g             the graphics context in which to paint
+     * @param tabPlacement  the placement (left, right, bottom, top) of the tab
+     * @param selectedIndex the tab index of the selected component
+     * @param x             the x coordinate of tab
+     * @param y             the y coordinate of tab
+     * @param w             the width of the tab
+     * @param h             the height of the tab
+     */
     protected void paintContentBorderTopEdge(Graphics g, int tabPlacement,
                                          int selectedIndex,
                                          int x, int y, int w, int h) {
@@ -1358,6 +1509,16 @@
         }
     }
 
+    /**
+     * Paints the content border left edge.
+     * @param g             the graphics context in which to paint
+     * @param tabPlacement  the placement (left, right, bottom, top) of the tab
+     * @param selectedIndex the tab index of the selected component
+     * @param x             the x coordinate of tab
+     * @param y             the y coordinate of tab
+     * @param w             the width of the tab
+     * @param h             the height of the tab
+     */
     protected void paintContentBorderLeftEdge(Graphics g, int tabPlacement,
                                                int selectedIndex,
                                                int x, int y, int w, int h) {
@@ -1384,6 +1545,16 @@
         }
     }
 
+    /**
+     * Paints the content border bottom edge.
+     * @param g             the graphics context in which to paint
+     * @param tabPlacement  the placement (left, right, bottom, top) of the tab
+     * @param selectedIndex the tab index of the selected component
+     * @param x             the x coordinate of tab
+     * @param y             the y coordinate of tab
+     * @param w             the width of the tab
+     * @param h             the height of the tab
+     */
     protected void paintContentBorderBottomEdge(Graphics g, int tabPlacement,
                                                int selectedIndex,
                                                int x, int y, int w, int h) {
@@ -1417,6 +1588,16 @@
 
     }
 
+    /**
+     * Paints the content border right edge.
+     * @param g             the graphics context in which to paint
+     * @param tabPlacement  the placement (left, right, bottom, top) of the tab
+     * @param selectedIndex the tab index of the selected component
+     * @param x             the x coordinate of tab
+     * @param y             the y coordinate of tab
+     * @param w             the width of the tab
+     * @param h             the height of the tab
+     */
     protected void paintContentBorderRightEdge(Graphics g, int tabPlacement,
                                                int selectedIndex,
                                                int x, int y, int w, int h) {
@@ -1618,10 +1799,18 @@
 
 // BasicTabbedPaneUI methods
 
+    /**
+     * Returns the visible component.
+     * @return the visible component
+     */
     protected Component getVisibleComponent() {
         return visibleComponent;
     }
 
+    /**
+     * Sets the visible component.
+     * @param component the component
+     */
     protected void setVisibleComponent(Component component) {
         if (visibleComponent != null
                 && visibleComponent != component
@@ -1636,6 +1825,10 @@
         visibleComponent = component;
     }
 
+    /**
+     * Assure the rectangles are created.
+     * @param tabCount the tab count
+     */
     protected void assureRectsCreated(int tabCount) {
         int rectArrayLen = rects.length;
         if (tabCount != rectArrayLen ) {
@@ -1650,6 +1843,9 @@
 
     }
 
+    /**
+     * Expands the tab runs array.
+     */
     protected void expandTabRunsArray() {
         int rectLen = tabRuns.length;
         int[] newArray = new int[rectLen+10];
@@ -1657,6 +1853,12 @@
         tabRuns = newArray;
     }
 
+    /**
+     * Returns the run for a tab.
+     * @param tabCount the tab count
+     * @param tabIndex the tab index.
+     * @return the run for a tab
+     */
     protected int getRunForTab(int tabCount, int tabIndex) {
         for (int i = 0; i < runCount; i++) {
             int first = tabRuns[i];
@@ -1668,6 +1870,12 @@
         return 0;
     }
 
+    /**
+     * Returns the last tab in a run.
+     * @param tabCount the tab count
+     * @param run the run
+     * @return the last tab in a run
+     */
     protected int lastTabInRun(int tabCount, int run) {
         if (runCount == 1) {
             return tabCount - 1;
@@ -1679,22 +1887,49 @@
         return tabRuns[nextRun]-1;
     }
 
+    /**
+     * Returns the tab run overlay.
+     * @param tabPlacement the placement (left, right, bottom, top) of the tab
+     * @return the tab run overlay
+     */
     protected int getTabRunOverlay(int tabPlacement) {
         return tabRunOverlay;
     }
 
+    /**
+     * Returns the tab run indent.
+     * @param tabPlacement the placement (left, right, bottom, top) of the tab
+     * @param run the tab run
+     * @return the tab run indent
+     */
     protected int getTabRunIndent(int tabPlacement, int run) {
         return 0;
     }
 
+    /**
+     * Returns whether or not the tab run should be padded.
+     * @param tabPlacement the placement (left, right, bottom, top) of the tab
+     * @param run the tab run
+     * @return whether or not the tab run should be padded
+     */
     protected boolean shouldPadTabRun(int tabPlacement, int run) {
         return runCount > 1;
     }
 
+    /**
+     * Returns whether or not the tab run should be rotated.
+     * @param tabPlacement the placement (left, right, bottom, top) of the tab
+     * @return whether or not the tab run should be rotated
+     */
     protected boolean shouldRotateTabRuns(int tabPlacement) {
         return true;
     }
 
+    /**
+     * Returns the icon for a tab.
+     * @param tabIndex the index of the tab
+     * @return the icon for a tab
+     */
     protected Icon getIconForTab(int tabIndex) {
         return (!tabPane.isEnabled() || !tabPane.isEnabledAt(tabIndex))?
                           tabPane.getDisabledIconAt(tabIndex) : tabPane.getIconAt(tabIndex);
@@ -1718,6 +1953,13 @@
         return null;
     }
 
+    /**
+     * Calculates the tab height.
+     * @param tabPlacement  the placement (left, right, bottom, top) of the tab
+     * @param tabIndex      the index of the tab with respect to other tabs
+     * @param fontHeight    the font height
+     * @return the tab height
+     */
     protected int calculateTabHeight(int tabPlacement, int tabIndex, int fontHeight) {
         int height = 0;
         Component c = tabPane.getTabComponentAt(tabIndex);
@@ -1743,6 +1985,11 @@
         return height;
     }
 
+    /**
+     * Calculates the maximum tab height.
+     * @param tabPlacement  the placement (left, right, bottom, top) of the tab
+     * @return the maximum tab height
+     */
     protected int calculateMaxTabHeight(int tabPlacement) {
         FontMetrics metrics = getFontMetrics();
         int tabCount = tabPane.getTabCount();
@@ -1754,6 +2001,13 @@
         return result;
     }
 
+    /**
+     * Calculates the tab width.
+     * @param tabPlacement  the placement (left, right, bottom, top) of the tab
+     * @param tabIndex      the index of the tab with respect to other tabs
+     * @param metrics       the font metrics
+     * @return the tab width
+     */
     protected int calculateTabWidth(int tabPlacement, int tabIndex, FontMetrics metrics) {
         Insets tabInsets = getTabInsets(tabPlacement, tabIndex);
         int width = tabInsets.left + tabInsets.right + 3;
@@ -1778,6 +2032,11 @@
         return width;
     }
 
+    /**
+     * Calculates the maximum tab width.
+     * @param tabPlacement  the placement (left, right, bottom, top) of the tab
+     * @return the maximum tab width
+     */
     protected int calculateMaxTabWidth(int tabPlacement) {
         FontMetrics metrics = getFontMetrics();
         int tabCount = tabPane.getTabCount();
@@ -1788,6 +2047,13 @@
         return result;
     }
 
+    /**
+     * Calculates the tab area height.
+     * @param tabPlacement  the placement (left, right, bottom, top) of the tab
+     * @param horizRunCount horizontal run count
+     * @param maxTabHeight maximum tab height
+     * @return the tab area height
+     */
     protected int calculateTabAreaHeight(int tabPlacement, int horizRunCount, int maxTabHeight) {
         Insets tabAreaInsets = getTabAreaInsets(tabPlacement);
         int tabRunOverlay = getTabRunOverlay(tabPlacement);
@@ -1797,6 +2063,13 @@
                 0);
     }
 
+    /**
+     * Calculates the tab area width.
+     * @param tabPlacement  the placement (left, right, bottom, top) of the tab
+     * @param vertRunCount vertical run count
+     * @param maxTabWidth maximum tab width
+     * @return the tab area width
+     */
     protected int calculateTabAreaWidth(int tabPlacement, int vertRunCount, int maxTabWidth) {
         Insets tabAreaInsets = getTabAreaInsets(tabPlacement);
         int tabRunOverlay = getTabRunOverlay(tabPlacement);
@@ -1806,24 +2079,49 @@
                 0);
     }
 
+    /**
+     * Returns the tab insets.
+     * @param tabPlacement  the placement (left, right, bottom, top) of the tab
+     * @param tabIndex the tab index
+     * @return the tab insets
+     */
     protected Insets getTabInsets(int tabPlacement, int tabIndex) {
         return tabInsets;
     }
 
+    /**
+     * Returns the selected tab pad insets.
+     * @param tabPlacement  the placement (left, right, bottom, top) of the tab
+     * @return the selected tab pad insets
+     */
     protected Insets getSelectedTabPadInsets(int tabPlacement) {
         rotateInsets(selectedTabPadInsets, currentPadInsets, tabPlacement);
         return currentPadInsets;
     }
 
+    /**
+     * Returns the tab area insets.
+     * @param tabPlacement  the placement (left, right, bottom, top) of the tab
+     * @return the pad area insets
+     */
     protected Insets getTabAreaInsets(int tabPlacement) {
         rotateInsets(tabAreaInsets, currentTabAreaInsets, tabPlacement);
         return currentTabAreaInsets;
     }
 
+    /**
+     * Returns the content border insets.
+     * @param tabPlacement  the placement (left, right, bottom, top) of the tab
+     * @return the content border insets
+     */
     protected Insets getContentBorderInsets(int tabPlacement) {
         return contentBorderInsets;
     }
 
+    /**
+     * Returns the font metrics.
+     * @return the font metrics
+     */
     protected FontMetrics getFontMetrics() {
         Font font = tabPane.getFont();
         return tabPane.getFontMetrics(font);
@@ -1832,6 +2130,10 @@
 
 // Tab Navigation methods
 
+    /**
+     * Navigate the selected tab.
+     * @param direction the direction
+     */
     protected void navigateSelectedTab(int direction) {
         int tabPlacement = tabPane.getTabPlacement();
         int current = DefaultLookup.getBoolean(tabPane, this,
@@ -1910,6 +2212,10 @@
         }
     }
 
+    /**
+     * Select the next tab in the run.
+     * @param current the current tab
+     */
     protected void selectNextTabInRun(int current) {
         int tabCount = tabPane.getTabCount();
         int tabIndex = getNextTabIndexInRun(tabCount, current);
@@ -1920,6 +2226,10 @@
         navigateTo(tabIndex);
     }
 
+    /**
+     * Select the previous tab in the run.
+     * @param current the current tab
+     */
     protected void selectPreviousTabInRun(int current) {
         int tabCount = tabPane.getTabCount();
         int tabIndex = getPreviousTabIndexInRun(tabCount, current);
@@ -1930,6 +2240,10 @@
         navigateTo(tabIndex);
     }
 
+    /**
+     * Select the next tab.
+     * @param current the current tab
+     */
     protected void selectNextTab(int current) {
         int tabIndex = getNextTabIndex(current);
 
@@ -1939,6 +2253,10 @@
         navigateTo(tabIndex);
     }
 
+    /**
+     * Select the previous tab.
+     * @param current the current tab
+     */
     protected void selectPreviousTab(int current) {
         int tabIndex = getPreviousTabIndex(current);
 
@@ -1948,6 +2266,12 @@
         navigateTo(tabIndex);
     }
 
+    /**
+     * Selects an adjacent run of tabs.
+     * @param tabPlacement  the placement (left, right, bottom, top) of the tab
+     * @param tabIndex      the index of the tab with respect to other tabs
+     * @param offset        selection offset
+     */
     protected void selectAdjacentRunTab(int tabPlacement,
                                         int tabIndex, int offset) {
         if ( runCount < 2 ) {
@@ -2026,6 +2350,14 @@
         return focusIndex;
     }
 
+    /**
+     * Returns the tab run offset.
+     * @param tabPlacement  the placement (left, right, bottom, top) of the tab
+     * @param tabCount the tab count
+     * @param tabIndex      the index of the tab with respect to other tabs
+     * @param forward forward or not
+     * @return the tab run offset
+     */
     protected int getTabRunOffset(int tabPlacement, int tabCount,
                                   int tabIndex, boolean forward) {
         int run = getRunForTab(tabCount, tabIndex);
@@ -2092,15 +2424,31 @@
         return offset;
     }
 
+    /**
+     * Returns the previous tab index.
+     * @param base the base
+     * @return the previous tab index
+     */
     protected int getPreviousTabIndex(int base) {
         int tabIndex = (base - 1 >= 0? base - 1 : tabPane.getTabCount() - 1);
         return (tabIndex >= 0? tabIndex : 0);
     }
 
+    /**
+     * Returns the next tab index.
+     * @param base the base
+     * @return the next tab index
+     */
     protected int getNextTabIndex(int base) {
         return (base+1)%tabPane.getTabCount();
     }
 
+    /**
+     * Returns the next tab index in the run.
+     * @param tabCount the tab count
+     * @param base the base
+     * @return the next tab index in the run
+     */
     protected int getNextTabIndexInRun(int tabCount, int base) {
         if (runCount < 2) {
             return getNextTabIndex(base);
@@ -2113,6 +2461,12 @@
         return next;
     }
 
+    /**
+     * Returns the previous tab index in the run.
+     * @param tabCount the tab count
+     * @param base the base
+     * @return the previous tab index in the run
+     */
     protected int getPreviousTabIndexInRun(int tabCount, int base) {
         if (runCount < 2) {
             return getPreviousTabIndex(base);
@@ -2125,15 +2479,31 @@
         return getPreviousTabIndex(base);
     }
 
+    /**
+     * Returns the previous tab run.
+     * @param baseRun the base run
+     * @return the previous tab run
+     */
     protected int getPreviousTabRun(int baseRun) {
         int runIndex = (baseRun - 1 >= 0? baseRun - 1 : runCount - 1);
         return (runIndex >= 0? runIndex : 0);
     }
 
+    /**
+     * Returns the next tab run.
+     * @param baseRun the base run
+     * @return the next tab run
+     */
     protected int getNextTabRun(int baseRun) {
         return (baseRun+1)%runCount;
     }
 
+    /**
+     * Rotates the insets.
+     * @param topInsets the top insets
+     * @param targetInsets the target insets
+     * @param targetPlacement the target placement
+     */
     protected static void rotateInsets(Insets topInsets, Insets targetInsets, int targetPlacement) {
 
         switch(targetPlacement) {
@@ -2292,6 +2662,11 @@
             return calculateSize(true);
         }
 
+        /**
+         * Returns the calculated size.
+         * @param minimum use the minimum size or preferred size
+         * @return the calculated size
+         */
         protected Dimension calculateSize(boolean minimum) {
             int tabPlacement = tabPane.getTabPlacement();
             Insets insets = tabPane.getInsets();
@@ -2346,6 +2721,12 @@
 
         }
 
+        /**
+         * Returns the preferred tab area height.
+         * @param tabPlacement the tab placement
+         * @param width the width
+         * @return the preferred tab area height
+         */
         protected int preferredTabAreaHeight(int tabPlacement, int width) {
             FontMetrics metrics = getFontMetrics();
             int tabCount = tabPane.getTabCount();
@@ -2370,6 +2751,12 @@
             return total;
         }
 
+        /**
+         * Returns the preferred tab area width.
+         * @param tabPlacement the tab placement
+         * @param height the height
+         * @return the preferred tab area widty
+         */
         protected int preferredTabAreaWidth(int tabPlacement, int height) {
             FontMetrics metrics = getFontMetrics();
             int tabCount = tabPane.getTabCount();
@@ -2395,6 +2782,7 @@
             return total;
         }
 
+        /** {@inheritDoc} */
         @SuppressWarnings("deprecation")
         public void layoutContainer(Container parent) {
             /* Some of the code in this method deals with changing the
@@ -2517,6 +2905,9 @@
             }
         }
 
+        /**
+         * Calculates the layout info.
+         */
         public void calculateLayoutInfo() {
             int tabCount = tabPane.getTabCount();
             assureRectsCreated(tabCount);
@@ -2556,6 +2947,11 @@
             }
         }
 
+        /**
+         * Calculate the tab rectangles.
+         * @param tabPlacement the tab placement
+         * @param tabCount the tab count
+         */
         protected void calculateTabRects(int tabPlacement, int tabCount) {
             FontMetrics metrics = getFontMetrics();
             Dimension size = tabPane.getSize();
@@ -2741,9 +3137,11 @@
         }
 
 
-       /*
-       * Rotates the run-index array so that the selected run is run[0]
-       */
+        /**
+         * Rotates the run-index array so that the selected run is run[0].
+         * @param tabPlacement the tab placement
+         * @param selectedRun the selected run
+         */
         protected void rotateTabRuns(int tabPlacement, int selectedRun) {
             for (int i = 0; i < selectedRun; i++) {
                 int save = tabRuns[0];
@@ -2754,6 +3152,13 @@
             }
         }
 
+        /**
+         * Normalizes the tab runs.
+         * @param tabPlacement the tab placement
+         * @param tabCount the tab count
+         * @param start the start
+         * @param max the max
+         */
         protected void normalizeTabRuns(int tabPlacement, int tabCount,
                                      int start, int max) {
             boolean verticalTabRuns = (tabPlacement == LEFT || tabPlacement == RIGHT);
@@ -2822,6 +3227,13 @@
             }
         }
 
+        /**
+         * Pads the tab run.
+         * @param tabPlacement the tab placement
+         * @param start the start
+         * @param end the end
+         * @param max the max
+         */
         protected void padTabRun(int tabPlacement, int start, int end, int max) {
             Rectangle lastRect = rects[end];
             if (tabPlacement == TOP || tabPlacement == BOTTOM) {
@@ -2853,6 +3265,11 @@
             }
         }
 
+        /**
+         * Pads selected tab.
+         * @param tabPlacement the tab placement
+         * @param selectedIndex the selected index
+         */
         protected void padSelectedTab(int tabPlacement, int selectedIndex) {
 
             if (selectedIndex >= 0) {