8252721: Nested classes in Swing APIs rely on default constructors

Reviewed-by: prr
This commit is contained in:
Prasanta Sadhukhan 2020-09-18 03:57:08 +00:00
parent fd380d75b0
commit 3ef2efb1f4
42 changed files with 252 additions and 0 deletions

View File

@ -2356,6 +2356,11 @@ public abstract class AbstractButton extends JComponent implements ItemSelectabl
extends AccessibleJComponent implements AccessibleAction,
AccessibleValue, AccessibleText, AccessibleExtendedComponent {
/**
* Constructor for subclasses to call.
*/
protected AccessibleAbstractButton() {}
/**
* Returns the accessible name of this object.
*

View File

@ -384,6 +384,11 @@ public class Box extends JComponent implements Accessible {
*/
@SuppressWarnings("serial")
protected class AccessibleBoxFiller extends AccessibleAWTComponent {
/**
* Constructor for subclasses to call.
*/
protected AccessibleBoxFiller() {}
// AccessibleContext methods
//
/**
@ -426,6 +431,11 @@ public class Box extends JComponent implements Accessible {
*/
@SuppressWarnings("serial")
protected class AccessibleBox extends AccessibleAWTContainer {
/**
* Constructor for subclasses to call.
*/
protected AccessibleBox() {}
// AccessibleContext methods
//
/**

View File

@ -244,6 +244,11 @@ public class CellRendererPane extends Container implements Accessible
* <code>CellRendererPane</code> class.
*/
protected class AccessibleCellRendererPane extends AccessibleAWTContainer {
/**
* Constructor for subclasses to call.
*/
protected AccessibleCellRendererPane() {}
// AccessibleContext methods
//
/**

View File

@ -303,6 +303,11 @@ public class DefaultCellEditor extends AbstractCellEditor
/** The value of this cell. */
protected Object value;
/**
* Constructor for subclasses to call.
*/
protected EditorDelegate() {}
/**
* Returns the value of this cell.
* @return the value of this cell

View File

@ -596,6 +596,11 @@ public class ImageIcon implements Icon, Serializable, Accessible {
protected class AccessibleImageIcon extends AccessibleContext
implements AccessibleIcon, Serializable {
/**
* Constructor for subclasses to call.
*/
protected AccessibleImageIcon() {}
/*
* AccessibleContest implementation -----------------
*/

View File

@ -566,6 +566,11 @@ public class JApplet extends Applet implements Accessible,
* <code>JApplet</code> class.
*/
protected class AccessibleJApplet extends AccessibleApplet {
/**
* Constructor for subclasses to call.
*/
protected AccessibleJApplet() {}
// everything moved to new parent, AccessibleApplet
}
}

View File

@ -301,6 +301,11 @@ public class JButton extends AbstractButton implements Accessible {
@SuppressWarnings("serial")
protected class AccessibleJButton extends AccessibleAbstractButton {
/**
* Constructor for subclasses to call.
*/
protected AccessibleJButton() {}
/**
* Get the role of this object.
*

View File

@ -332,6 +332,11 @@ public class JCheckBox extends JToggleButton implements Accessible {
@SuppressWarnings("serial") // Same-version serialization only
protected class AccessibleJCheckBox extends AccessibleJToggleButton {
/**
* Constructor for subclasses to call.
*/
protected AccessibleJCheckBox() {}
/**
* Get the role of this object.
*

View File

@ -304,6 +304,11 @@ public class JCheckBoxMenuItem extends JMenuItem implements SwingConstants,
*/
@SuppressWarnings("serial") // Same-version serialization only
protected class AccessibleJCheckBoxMenuItem extends AccessibleJMenuItem {
/**
* Constructor for subclasses to call.
*/
protected AccessibleJCheckBoxMenuItem() {}
/**
* Get the role of this object.
*

View File

@ -599,6 +599,11 @@ public class JColorChooser extends JComponent implements Accessible {
*/
protected class AccessibleJColorChooser extends AccessibleJComponent {
/**
* Constructor for subclasses to call.
*/
protected AccessibleJColorChooser() {}
/**
* Get the role of this object.
*

View File

@ -3710,6 +3710,10 @@ public abstract class JComponent extends Container implements Serializable,
*/
protected class AccessibleContainerHandler
implements ContainerListener {
/**
* Constructor for subclasses to call.
*/
protected AccessibleContainerHandler() {}
public void componentAdded(ContainerEvent e) {
Component c = e.getChild();
if (c != null && c instanceof Accessible) {
@ -3738,6 +3742,10 @@ public abstract class JComponent extends Container implements Serializable,
*/
@Deprecated
protected class AccessibleFocusHandler implements FocusListener {
/**
* Constructor for subclasses to call.
*/
protected AccessibleFocusHandler() {}
public void focusGained(FocusEvent event) {
if (accessibleContext != null) {
accessibleContext.firePropertyChange(

View File

@ -627,6 +627,11 @@ public class JDesktopPane extends JLayeredPane implements Accessible
@SuppressWarnings("serial") // Same-version serialization only
protected class AccessibleJDesktopPane extends AccessibleJComponent {
/**
* Constructor for subclasses to call.
*/
protected AccessibleJDesktopPane() {}
/**
* Get the role of this object.
*

View File

@ -1238,6 +1238,11 @@ public class JDialog extends Dialog implements WindowConstants,
*/
protected class AccessibleJDialog extends AccessibleAWTDialog {
/**
* Constructor for subclasses to call.
*/
protected AccessibleJDialog() {}
// AccessibleContext methods
//
/**

View File

@ -1659,6 +1659,11 @@ public class JEditorPane extends JTextComponent {
@SuppressWarnings("serial") // Same-version serialization only
protected class AccessibleJEditorPane extends AccessibleJTextComponent {
/**
* Constructor for subclasses to call.
*/
protected AccessibleJEditorPane() {}
/**
* Gets the accessibleDescription property of this object. If this
* property isn't set, returns the content type of this

View File

@ -2041,6 +2041,11 @@ public class JFileChooser extends JComponent implements Accessible {
@SuppressWarnings("serial") // Superclass is not serializable across versions
protected class AccessibleJFileChooser extends AccessibleJComponent {
/**
* Constructor for subclasses to call.
*/
protected AccessibleJFileChooser() {}
/**
* Gets the role of this object.
*

View File

@ -882,6 +882,11 @@ public class JFrame extends Frame implements WindowConstants,
*/
protected class AccessibleJFrame extends AccessibleAWTFrame {
/**
* Constructor for subclasses to call.
*/
protected AccessibleJFrame() {}
// AccessibleContext methods
/**
* Get the accessible name of this object.

View File

@ -2011,6 +2011,11 @@ public class JInternalFrame extends JComponent implements
protected class AccessibleJInternalFrame extends AccessibleJComponent
implements AccessibleValue {
/**
* Constructor for subclasses to call.
*/
protected AccessibleJInternalFrame() {}
/**
* Get the accessible name of this object.
*
@ -2302,6 +2307,11 @@ public class JInternalFrame extends JComponent implements
protected class AccessibleJDesktopIcon extends AccessibleJComponent
implements AccessibleValue {
/**
* Constructor for subclasses to call.
*/
protected AccessibleJDesktopIcon() {}
/**
* Gets the role of this object.
*

View File

@ -1043,6 +1043,11 @@ public class JLabel extends JComponent implements SwingConstants, Accessible
protected class AccessibleJLabel extends AccessibleJComponent
implements AccessibleText, AccessibleExtendedComponent {
/**
* Constructor for subclasses to call.
*/
protected AccessibleJLabel() {}
/**
* Get the accessible name of this object.
*

View File

@ -766,6 +766,11 @@ public class JLayeredPane extends JComponent implements Accessible {
@SuppressWarnings("serial")
protected class AccessibleJLayeredPane extends AccessibleJComponent {
/**
* Constructor for subclasses to call.
*/
protected AccessibleJLayeredPane() {}
/**
* Get the role of this object.
*

View File

@ -1395,6 +1395,11 @@ public class JMenu extends JMenuItem implements Accessible,MenuElement
protected class AccessibleJMenu extends AccessibleJMenuItem
implements AccessibleSelection {
/**
* Constructor for subclasses to call.
*/
protected AccessibleJMenu() {}
/**
* Returns the number of accessible children in the object. If all
* of the children of this object implement Accessible, than this

View File

@ -510,6 +510,11 @@ public class JMenuBar extends JComponent implements Accessible,MenuElement
protected class AccessibleJMenuBar extends AccessibleJComponent
implements AccessibleSelection {
/**
* Constructor for subclasses to call.
*/
protected AccessibleJMenuBar() {}
/**
* Get the accessible state set of this object.
*

View File

@ -2547,6 +2547,11 @@ public class JOptionPane extends JComponent implements Accessible
@SuppressWarnings("serial") // Same-version serialization only
protected class AccessibleJOptionPane extends AccessibleJComponent {
/**
* Constructor for subclasses to call.
*/
protected AccessibleJOptionPane() {}
/**
* Get the role of this object.
*

View File

@ -232,6 +232,10 @@ public class JPanel extends JComponent implements Accessible
*/
@SuppressWarnings("serial") // Same-version serialization only
protected class AccessibleJPanel extends AccessibleJComponent {
/**
* Constructor for subclasses to call.
*/
protected AccessibleJPanel() {}
/**
* Get the role of this object.

View File

@ -406,6 +406,11 @@ public class JPasswordField extends JTextField {
*/
protected class AccessibleJPasswordField extends AccessibleJTextField {
/**
* Constructor for subclasses to call.
*/
protected AccessibleJPasswordField() {}
/**
* Gets the role of this object.
*

View File

@ -1011,6 +1011,11 @@ public class JProgressBar extends JComponent implements SwingConstants, Accessib
protected class AccessibleJProgressBar extends AccessibleJComponent
implements AccessibleValue {
/**
* Constructor for subclasses to call.
*/
protected AccessibleJProgressBar() {}
/**
* Gets the state set of this object.
*

View File

@ -285,6 +285,11 @@ public class JRadioButton extends JToggleButton implements Accessible {
@SuppressWarnings("serial") // Same-version serialization only
protected class AccessibleJRadioButton extends AccessibleJToggleButton {
/**
* Constructor for subclasses to call.
*/
protected AccessibleJRadioButton() {}
/**
* Get the role of this object.
*

View File

@ -278,6 +278,11 @@ public class JRadioButtonMenuItem extends JMenuItem implements Accessible {
*/
@SuppressWarnings("serial") // Same-version serialization only
protected class AccessibleJRadioButtonMenuItem extends AccessibleJMenuItem {
/**
* Constructor for subclasses to call.
*/
protected AccessibleJRadioButtonMenuItem() {}
/**
* Get the role of this object.
*

View File

@ -847,6 +847,11 @@ public class JRootPane extends JComponent implements Accessible {
@SuppressWarnings("serial")
protected class RootLayout implements LayoutManager2, Serializable
{
/**
* Constructor for subclasses to call.
*/
protected RootLayout() {}
/**
* Returns the amount of space the layout would like to have.
*
@ -1012,6 +1017,11 @@ public class JRootPane extends JComponent implements Accessible {
*/
@SuppressWarnings("serial")
protected class AccessibleJRootPane extends AccessibleJComponent {
/**
* Constructor for subclasses to call.
*/
protected AccessibleJRootPane() {}
/**
* Get the role of this object.
*

View File

@ -855,6 +855,11 @@ public class JScrollBar extends JComponent implements Adjustable, Accessible
protected class AccessibleJScrollBar extends AccessibleJComponent
implements AccessibleValue {
/**
* Constructor for subclasses to call.
*/
protected AccessibleJScrollBar() {}
/**
* Get the state set of this object.
*

View File

@ -277,6 +277,11 @@ public class JSeparator extends JComponent implements SwingConstants, Accessible
@SuppressWarnings("serial")
protected class AccessibleJSeparator extends AccessibleJComponent {
/**
* Constructor for subclasses to call.
*/
protected AccessibleJSeparator() {}
/**
* Get the role of this object.
*

View File

@ -1135,6 +1135,11 @@ public class JSplitPane extends JComponent implements Accessible
@SuppressWarnings("serial") // Same-version serialization only
protected class AccessibleJSplitPane extends AccessibleJComponent
implements AccessibleValue {
/**
* Constructor for subclasses to call.
*/
protected AccessibleJSplitPane() {}
/**
* Gets the state set of this object.
*

View File

@ -289,6 +289,11 @@ public class JTabbedPane extends JComponent
* the tabbedpane (instead of the model itself) as the event source.
*/
protected class ModelListener implements ChangeListener, Serializable {
/**
* Constructor for subclasses to call.
*/
protected ModelListener() {}
public void stateChanged(ChangeEvent e) {
fireStateChanged();
}

View File

@ -783,6 +783,11 @@ public class JTextArea extends JTextComponent {
@SuppressWarnings("serial") // Same-version serialization only
protected class AccessibleJTextArea extends AccessibleJTextComponent {
/**
* Constructor for subclasses to call.
*/
protected AccessibleJTextArea() {}
/**
* Gets the state set of this object.
*

View File

@ -950,6 +950,11 @@ public class JTextField extends JTextComponent implements SwingConstants {
@SuppressWarnings("serial") // Same-version serialization only
protected class AccessibleJTextField extends AccessibleJTextComponent {
/**
* Constructor for subclasses to call.
*/
protected AccessibleJTextField() {}
/**
* Gets the state set of this object.
*

View File

@ -831,6 +831,11 @@ public class JToolBar extends JComponent implements SwingConstants, Accessible
*/
protected class AccessibleJToolBar extends AccessibleJComponent {
/**
* Constructor for subclasses to call.
*/
protected AccessibleJToolBar() {}
/**
* Get the state of this object.
*

View File

@ -261,6 +261,11 @@ public class JToolTip extends JComponent implements Accessible {
@SuppressWarnings("serial")
protected class AccessibleJToolTip extends AccessibleJComponent {
/**
* Constructor for subclasses to call.
*/
protected AccessibleJToolTip() {}
/**
* Get the accessible description of this object.
*

View File

@ -3320,6 +3320,11 @@ public class JTree extends JComponent implements Scrollable, Accessible
protected static class EmptySelectionModel extends
DefaultTreeSelectionModel
{
/**
* Constructor for subclasses to call.
*/
protected EmptySelectionModel() {}
/**
* The single instance of {@code EmptySelectionModel}.
*/
@ -3442,6 +3447,11 @@ public class JTree extends JComponent implements Scrollable, Accessible
protected class TreeSelectionRedirector implements Serializable,
TreeSelectionListener
{
/**
* Constructor for subclasses to call.
*/
protected TreeSelectionRedirector() {}
/**
* Invoked by the <code>TreeSelectionModel</code> when the
* selection changes.
@ -3863,6 +3873,11 @@ public class JTree extends JComponent implements Scrollable, Accessible
* accordingly when nodes are removed, or changed.
*/
protected class TreeModelHandler implements TreeModelListener {
/**
* Constructor for subclasses to call.
*/
protected TreeModelHandler() {}
public void treeNodesChanged(TreeModelEvent e) { }
public void treeNodesInserted(TreeModelEvent e) { }

View File

@ -1405,6 +1405,11 @@ public class JViewport extends JComponent implements Accessible
@SuppressWarnings("serial") // Same-version serialization only
protected class ViewListener extends ComponentAdapter implements Serializable
{
/**
* Constructor for subclasses to call.
*/
protected ViewListener() {}
public void componentResized(ComponentEvent e) {
fireStateChanged();
revalidate();
@ -1875,6 +1880,12 @@ public class JViewport extends JComponent implements Accessible
*/
@SuppressWarnings("serial") // Same-version serialization only
protected class AccessibleJViewport extends AccessibleJComponent {
/**
* Constructor for subclasses to call.
*/
protected AccessibleJViewport() {}
/**
* Get the role of this object.
*

View File

@ -654,6 +654,10 @@ public class JWindow extends Window implements Accessible,
@SuppressWarnings("serial")
protected class AccessibleJWindow extends AccessibleAWTWindow {
// everything is in the new parent, AccessibleAWTWindow
/**
* Constructor for subclasses to call.
*/
protected AccessibleJWindow() {}
}
}

View File

@ -677,6 +677,11 @@ public class ToolTipManager extends MouseAdapter implements MouseMotionListener
* Inside timer action.
*/
protected class insideTimerAction implements ActionListener {
/**
* Constructor for subclasses to call.
*/
protected insideTimerAction() {}
/**
* {@inheritDoc}
*/
@ -707,6 +712,11 @@ public class ToolTipManager extends MouseAdapter implements MouseMotionListener
* Outside timer action.
*/
protected class outsideTimerAction implements ActionListener {
/**
* Constructor for subclasses to call.
*/
protected outsideTimerAction() {}
/**
* {@inheritDoc}
*/
@ -719,6 +729,11 @@ public class ToolTipManager extends MouseAdapter implements MouseMotionListener
* Still inside timer action.
*/
protected class stillInsideTimerAction implements ActionListener {
/**
* Constructor for subclasses to call.
*/
protected stillInsideTimerAction() {}
/**
* {@inheritDoc}
*/

View File

@ -808,6 +808,11 @@ public class JTableHeader extends JComponent implements TableColumnModelListener
@SuppressWarnings("serial") // Same-version serialization only
protected class AccessibleJTableHeader extends AccessibleJComponent {
/**
* Constructor for subclasses to call.
*/
protected AccessibleJTableHeader() {}
/**
* Get the role of this object.
*

View File

@ -552,6 +552,11 @@ public class FormView extends ComponentView implements ActionListener {
*/
protected class MouseEventListener extends MouseAdapter {
/**
* Constructor for subclasses to call.
*/
protected MouseEventListener() {}
public void mouseReleased(MouseEvent evt) {
String imageData = getImageData(evt.getPoint());
imageSubmit(imageData);