Module java.desktop
Package java.awt

Class Component

  • All Implemented Interfaces:
    ImageObserver,MenuContainer,Serializable
    Direct Known Subclasses:
    Button,Canvas,Checkbox,Choice,Container,Label,List,Scrollbar,TextComponent


    public abstract classComponentextendsObjectimplementsImageObserver,MenuContainer,Serializable
    Acomponent is an object having a graphical representation that can be displayed on the screen and that can interact with the user. Examples of components are the buttons, checkboxes, and scrollbars of a typical graphical user interface.

    TheComponent class is the abstract superclass of the nonmenu-related Abstract Window Toolkit components. ClassComponent can also be extended directly to create a lightweight component. A lightweight component is a component that is not associated with a native window. On the contrary, a heavyweight component is associated with a native window. TheisLightweight() method may be used to distinguish between the two kinds of the components.

    Lightweight and heavyweight components may be mixed in a single component hierarchy. However, for correct operating of such a mixed hierarchy of components, the whole hierarchy must be valid. When the hierarchy gets invalidated, like after changing the bounds of components, or adding/removing components to/from containers, the whole hierarchy must be validated afterwards by means of theContainer.validate() method invoked on the top-most invalid container of the hierarchy.

    Serialization

    It is important to note that only AWT listeners which conform to theSerializable protocol will be saved when the object is stored. If an AWT object has listeners that aren't marked serializable, they will be dropped atwriteObject time. Developers will need, as always, to consider the implications of making an object serializable. One situation to watch out for is this:
        import java.awt.*;    import java.awt.event.*;    import java.io.Serializable;    class MyApp implements ActionListener, Serializable    {        BigObjectThatShouldNotBeSerializedWithAButton bigOne;        Button aButton = new Button();        MyApp()        {            // Oops, now aButton has a listener with a reference            // to bigOne!            aButton.addActionListener(this);        }        public void actionPerformed(ActionEvent e)        {            System.out.println("Hello There");        }    }
    In this example, serializingaButton by itself will causeMyApp and everything it refers to to be serialized as well. The problem is that the listener is serializable by coincidence, not by design. To separate the decisions aboutMyApp and theActionListener being serializable one can use a nested class, as in the following example:
        import java.awt.*;    import java.awt.event.*;    import java.io.Serializable;    class MyApp implements java.io.Serializable    {         BigObjectThatShouldNotBeSerializedWithAButton bigOne;         Button aButton = new Button();         static class MyActionListener implements ActionListener         {             public void actionPerformed(ActionEvent e)             {                 System.out.println("Hello There");             }         }         MyApp()         {             aButton.addActionListener(new MyActionListener());         }    }

    Note: For more information on the paint mechanisms utilized by AWT and Swing, including information on how to write the most efficient painting code, seePainting in AWT and Swing.

    For details on the focus subsystem, see How to Use the Focus Subsystem, a section inThe Java Tutorial, and theFocus Specification for more information.

    See Also:
    Serialized Form
    • Field Detail

      • TOP_ALIGNMENT

        public static final float TOP_ALIGNMENT
        Ease-of-use constant forgetAlignmentY(). Specifies an alignment to the top of the component.
        See Also:
        getAlignmentY(),Constant Field Values
      • BOTTOM_ALIGNMENT

        public static final float BOTTOM_ALIGNMENT
        Ease-of-use constant forgetAlignmentY. Specifies an alignment to the bottom of the component.
        See Also:
        getAlignmentY(),Constant Field Values
      • LEFT_ALIGNMENT

        public static final float LEFT_ALIGNMENT
        Ease-of-use constant forgetAlignmentX. Specifies an alignment to the left side of the component.
        See Also:
        getAlignmentX(),Constant Field Values
      • RIGHT_ALIGNMENT

        public static final float RIGHT_ALIGNMENT
        Ease-of-use constant forgetAlignmentX. Specifies an alignment to the right side of the component.
        See Also:
        getAlignmentX(),Constant Field Values
      • accessibleContext

        protected AccessibleContext accessibleContext
        TheAccessibleContext associated with thisComponent.
    • Constructor Detail

      • Component

        protected Component()
        Constructs a new component. ClassComponent can be extended directly to create a lightweight component that does not utilize an opaque native window. A lightweight component must be hosted by a native container somewhere higher up in the component tree (for example, by aFrame object).
    • Method Detail

      • setName

        public void setName(String name)
        Sets the name of the component to the specified string.
        Parameters:
        name - the string that is to be this component's name
        Since:
        1.1
        See Also:
        getName()
      • getParent

        public Container getParent()
        Gets the parent of this component.
        Returns:
        the parent container of this component
        Since:
        1.0
      • setDropTarget

        public void setDropTarget(DropTarget dt)
        Associate aDropTarget with this component. TheComponent will receive drops only if it is enabled.
        Parameters:
        dt - The DropTarget
        See Also:
        isEnabled()
      • getDropTarget

        public DropTarget getDropTarget()
        Gets theDropTarget associated with thisComponent.
        Returns:
        the drop target
      • getGraphicsConfiguration

        public GraphicsConfiguration getGraphicsConfiguration()
        Gets theGraphicsConfiguration associated with thisComponent. If theComponent has not been assigned a specificGraphicsConfiguration, theGraphicsConfiguration of theComponent object's top-level container is returned. If theComponent has been created, but not yet added to aContainer, this method returnsnull.
        Returns:
        theGraphicsConfiguration used by thisComponent ornull
        Since:
        1.3
      • getTreeLock

        public final Object getTreeLock()
        Gets this component's locking object (the object that owns the thread synchronization monitor) for AWT component-tree and layout operations.
        Returns:
        this component's locking object
      • getToolkit

        public Toolkit getToolkit()
        Gets the toolkit of this component. Note that the frame that contains a component controls which toolkit is used by that component. Therefore if the component is moved from one frame to another, the toolkit it uses may change.
        Returns:
        the toolkit of this component
        Since:
        1.0
      • isValid

        public boolean isValid()
        Determines whether this component is valid. A component is valid when it is correctly sized and positioned within its parent container and all its children are also valid. In order to account for peers' size requirements, components are invalidated before they are first shown on the screen. By the time the parent container is fully realized, all its components will be valid.
        Returns:
        true if the component is valid,false otherwise
        Since:
        1.0
        See Also:
        validate(),invalidate()
      • isDisplayable

        public boolean isDisplayable()
        Determines whether this component is displayable. A component is displayable when it is connected to a native screen resource.

        A component is made displayable either when it is added to a displayable containment hierarchy or when its containment hierarchy is made displayable. A containment hierarchy is made displayable when its ancestor window is either packed or made visible.

        A component is made undisplayable either when it is removed from a displayable containment hierarchy or when its containment hierarchy is made undisplayable. A containment hierarchy is made undisplayable when its ancestor window is disposed.

        Returns:
        true if the component is displayable,false otherwise
        Since:
        1.2
        See Also:
        Container.add(Component),Window.pack(),Window.show(),Container.remove(Component),Window.dispose()
      • isVisible

        public boolean isVisible()
        Determines whether this component should be visible when its parent is visible. Components are initially visible, with the exception of top level components such asFrame objects.
        Returns:
        true if the component is visible,false otherwise
        Since:
        1.0
        See Also:
        setVisible(boolean)
      • getMousePosition

        public Point getMousePosition()                       throwsHeadlessException
        Returns the position of the mouse pointer in thisComponent's coordinate space if theComponent is directly under the mouse pointer, otherwise returnsnull. If theComponent is not showing on the screen, this method returnsnull even if the mouse pointer is above the area where theComponent would be displayed. If theComponent is partially or fully obscured by otherComponents or native windows, this method returns a non-null value only if the mouse pointer is located above the unobscured part of theComponent.

        ForContainers it returns a non-null value if the mouse is above theContainer itself or above any of its descendants. UseContainer.getMousePosition(boolean) if you need to exclude children.

        Sometimes the exact mouse coordinates are not important, and the only thing that matters is whether a specificComponent is under the mouse pointer. If the return value of this method isnull, mouse pointer is not directly above theComponent.

        Returns:
        mouse coordinates relative to thisComponent, or null
        Throws:
        HeadlessException - if GraphicsEnvironment.isHeadless() returns true
        Since:
        1.5
        See Also:
        isShowing(),Container.getMousePosition(boolean)
      • isShowing

        public boolean isShowing()
        Determines whether this component is showing on screen. This means that the component must be visible, and it must be in a container that is visible and showing.

        Note: sometimes there is no way to detect whether theComponent is actually visible to the user. This can happen when:

        • the component has been added to a visibleScrollPane but theComponent is not currently in the scroll pane's view port.
        • theComponent is obscured by anotherComponent orContainer.
        Returns:
        true if the component is showing,false otherwise
        Since:
        1.0
        See Also:
        setVisible(boolean)
      • isEnabled

        public boolean isEnabled()
        Determines whether this component is enabled. An enabled component can respond to user input and generate events. Components are enabled initially by default. A component may be enabled or disabled by calling itssetEnabled method.
        Returns:
        true if the component is enabled,false otherwise
        Since:
        1.0
        See Also:
        setEnabled(boolean)
      • setEnabled

        public void setEnabled(boolean b)
        Enables or disables this component, depending on the value of the parameterb. An enabled component can respond to user input and generate events. Components are enabled initially by default.

        Note: Disabling a lightweight component does not prevent it from receiving MouseEvents.

        Note: Disabling a heavyweight container prevents all components in this container from receiving any input events. But disabling a lightweight container affects only this container.

        Parameters:
        b - Iftrue, this component is enabled; otherwise this component is disabled
        Since:
        1.1
        See Also:
        isEnabled(),isLightweight()
      • enable

        @Deprecatedpublic void enable()
        Deprecated. As of JDK version 1.1, replaced bysetEnabled(boolean).
      • enable

        @Deprecatedpublic void enable(boolean b)
        Deprecated. As of JDK version 1.1, replaced bysetEnabled(boolean).
        Enables or disables this component.
        Parameters:
        b -true to enable this component; otherwisefalse
      • disable

        @Deprecatedpublic void disable()
        Deprecated. As of JDK version 1.1, replaced bysetEnabled(boolean).
      • isDoubleBuffered

        public boolean isDoubleBuffered()
        Returns true if this component is painted to an offscreen image ("buffer") that's copied to the screen later. Component subclasses that support double buffering should override this method to return true if double buffering is enabled.
        Returns:
        false by default
      • enableInputMethods

        public void enableInputMethods(boolean enable)
        Enables or disables input method support for this component. If input method support is enabled and the component also processes key events, incoming events are offered to the current input method and will only be processed by the component or dispatched to its listeners if the input method does not consume them. By default, input method support is enabled.
        Parameters:
        enable - true to enable, false to disable
        Since:
        1.2
        See Also:
        processKeyEvent(java.awt.event.KeyEvent)
      • setVisible

        public void setVisible(boolean b)
        Shows or hides this component depending on the value of parameterb.

        This method changes layout-related information, and therefore, invalidates the component hierarchy.

        Parameters:
        b - iftrue, shows this component; otherwise, hides this component
        Since:
        1.1
        See Also:
        isVisible(),invalidate()
      • show

        @Deprecatedpublic void show()
        Deprecated. As of JDK version 1.1, replaced bysetVisible(boolean).
      • show

        @Deprecatedpublic void show(boolean b)
        Deprecated. As of JDK version 1.1, replaced bysetVisible(boolean).
        Makes this component visible or invisible.
        Parameters:
        b -true to make this component visible; otherwisefalse
      • hide

        @Deprecatedpublic void hide()
        Deprecated. As of JDK version 1.1, replaced bysetVisible(boolean).
      • getForeground

        public Color getForeground()
        Gets the foreground color of this component.
        Returns:
        this component's foreground color; if this component does not have a foreground color, the foreground color of its parent is returned
        Since:
        1.0
        See Also:
        setForeground(java.awt.Color)
      • setForeground

        public void setForeground(Color c)
        Sets the foreground color of this component.
        Parameters:
        c - the color to become this component's foreground color; if this parameter isnull then this component will inherit the foreground color of its parent
        Since:
        1.0
        See Also:
        getForeground()
      • isForegroundSet

        public boolean isForegroundSet()
        Returns whether the foreground color has been explicitly set for this Component. If this method returnsfalse, this Component is inheriting its foreground color from an ancestor.
        Returns:
        true if the foreground color has been explicitly set for this Component;false otherwise.
        Since:
        1.4
      • getBackground

        public Color getBackground()
        Gets the background color of this component.
        Returns:
        this component's background color; if this component does not have a background color, the background color of its parent is returned
        Since:
        1.0
        See Also:
        setBackground(java.awt.Color)
      • setBackground

        public void setBackground(Color c)
        Sets the background color of this component.

        The background color affects each component differently and the parts of the component that are affected by the background color may differ between operating systems.

        Parameters:
        c - the color to become this component's color; if this parameter isnull, then this component will inherit the background color of its parent
        Since:
        1.0
        See Also:
        getBackground()
      • isBackgroundSet

        public boolean isBackgroundSet()
        Returns whether the background color has been explicitly set for this Component. If this method returnsfalse, this Component is inheriting its background color from an ancestor.
        Returns:
        true if the background color has been explicitly set for this Component;false otherwise.
        Since:
        1.4
      • getFont

        public Font getFont()
        Gets the font of this component.
        Specified by:
        getFont in interface MenuContainer
        Returns:
        this component's font; if a font has not been set for this component, the font of its parent is returned
        Since:
        1.0
        See Also:
        setFont(java.awt.Font)
      • setFont

        public void setFont(Font f)
        Sets the font of this component.

        This method changes layout-related information, and therefore, invalidates the component hierarchy.

        Parameters:
        f - the font to become this component's font; if this parameter isnull then this component will inherit the font of its parent
        Since:
        1.0
        See Also:
        getFont(),invalidate()
      • isFontSet

        public boolean isFontSet()
        Returns whether the font has been explicitly set for this Component. If this method returnsfalse, this Component is inheriting its font from an ancestor.
        Returns:
        true if the font has been explicitly set for this Component;false otherwise.
        Since:
        1.4
      • getLocale

        public Locale getLocale()
        Gets the locale of this component.
        Returns:
        this component's locale; if this component does not have a locale, the locale of its parent is returned
        Throws:
        IllegalComponentStateException - if theComponent does not have its own locale and has not yet been added to a containment hierarchy such that the locale can be determined from the containing parent
        Since:
        1.1
        See Also:
        setLocale(java.util.Locale)
      • setLocale

        public void setLocale(Locale l)
        Sets the locale of this component. This is a bound property.

        This method changes layout-related information, and therefore, invalidates the component hierarchy.

        Parameters:
        l - the locale to become this component's locale
        Since:
        1.1
        See Also:
        getLocale(),invalidate()
      • getColorModel

        public ColorModel getColorModel()
        Gets the instance ofColorModel used to display the component on the output device.
        Returns:
        the color model used by this component
        Since:
        1.0
        See Also:
        ColorModel,ComponentPeer.getColorModel(),Toolkit.getColorModel()
      • getLocation

        public Point getLocation()
        Gets the location of this component in the form of a point specifying the component's top-left corner. The location will be relative to the parent's coordinate space.

        Due to the asynchronous nature of native event handling, this method can return outdated values (for instance, after several calls ofsetLocation() in rapid succession). For this reason, the recommended method of obtaining a component's position is withinjava.awt.event.ComponentListener.componentMoved(), which is called after the operating system has finished moving the component.

        Returns:
        an instance ofPoint representing the top-left corner of the component's bounds in the coordinate space of the component's parent
        Since:
        1.1
        See Also:
        setLocation(int, int),getLocationOnScreen()
      • getLocationOnScreen

        public Point getLocationOnScreen()
        Gets the location of this component in the form of a point specifying the component's top-left corner in the screen's coordinate space.
        Returns:
        an instance ofPoint representing the top-left corner of the component's bounds in the coordinate space of the screen
        Throws:
        IllegalComponentStateException - if the component is not showing on the screen
        See Also:
        setLocation(int, int),getLocation()
      • location

        @Deprecatedpublic Point location()
        Deprecated. As of JDK version 1.1, replaced bygetLocation().
        Returns the location of this component's top left corner.
        Returns:
        the location of this component's top left corner
      • setLocation

        public void setLocation(int x,                        int y)
        Moves this component to a new location. The top-left corner of the new location is specified by thex andy parameters in the coordinate space of this component's parent.

        This method changes layout-related information, and therefore, invalidates the component hierarchy.

        Parameters:
        x - thex-coordinate of the new location's top-left corner in the parent's coordinate space
        y - they-coordinate of the new location's top-left corner in the parent's coordinate space
        Since:
        1.1
        See Also:
        getLocation(),setBounds(int, int, int, int),invalidate()
      • move

        @Deprecatedpublic void move(int x,                 int y)
        Deprecated. As of JDK version 1.1, replaced bysetLocation(int, int).
        Moves this component to a new location.
        Parameters:
        x - thex-coordinate of the new location's top-left corner in the parent's coordinate space
        y - they-coordinate of the new location's top-left corner in the parent's coordinate space
      • setLocation

        public void setLocation(Point p)
        Moves this component to a new location. The top-left corner of the new location is specified by pointp. Pointp is given in the parent's coordinate space.

        This method changes layout-related information, and therefore, invalidates the component hierarchy.

        Parameters:
        p - the point defining the top-left corner of the new location, given in the coordinate space of this component's parent
        Since:
        1.1
        See Also:
        getLocation(),setBounds(int, int, int, int),invalidate()
      • getSize

        public Dimension getSize()
        Returns the size of this component in the form of aDimension object. Theheight field of theDimension object contains this component's height, and thewidth field of theDimension object contains this component's width.
        Returns:
        aDimension object that indicates the size of this component
        Since:
        1.1
        See Also:
        setSize(int, int)
      • size

        @Deprecatedpublic Dimension size()
        Deprecated. As of JDK version 1.1, replaced bygetSize().
        Returns the size of this component in the form of aDimension object.
        Returns:
        theDimension object that indicates the size of this component
      • setSize

        public void setSize(int width,                    int height)
        Resizes this component so that it has widthwidth and heightheight.

        This method changes layout-related information, and therefore, invalidates the component hierarchy.

        Parameters:
        width - the new width of this component in pixels
        height - the new height of this component in pixels
        Since:
        1.1
        See Also:
        getSize(),setBounds(int, int, int, int),invalidate()
      • resize

        @Deprecatedpublic void resize(int width,                   int height)
        Deprecated. As of JDK version 1.1, replaced bysetSize(int, int).
        Resizes this component.
        Parameters:
        width - the new width of the component
        height - the new height of the component
      • resize

        @Deprecatedpublic void resize(Dimension d)
        Deprecated. As of JDK version 1.1, replaced bysetSize(Dimension).
        Resizes this component so that it has widthd.width and heightd.height.
        Parameters:
        d - the new size of this component
      • getBounds

        public Rectangle getBounds()
        Gets the bounds of this component in the form of aRectangle object. The bounds specify this component's width, height, and location relative to its parent.
        Returns:
        a rectangle indicating this component's bounds
        See Also:
        setBounds(int, int, int, int),getLocation(),getSize()
      • bounds

        @Deprecatedpublic Rectangle bounds()
        Deprecated. As of JDK version 1.1, replaced bygetBounds().
        Returns the bounding rectangle of this component.
        Returns:
        the bounding rectangle for this component
      • setBounds

        public void setBounds(int x,                      int y,                      int width,                      int height)
        Moves and resizes this component. The new location of the top-left corner is specified byx andy, and the new size is specified bywidth andheight.

        This method changes layout-related information, and therefore, invalidates the component hierarchy.

        Parameters:
        x - the newx-coordinate of this component
        y - the newy-coordinate of this component
        width - the newwidth of this component
        height - the newheight of this component
        Since:
        1.1
        See Also:
        getBounds(),setLocation(int, int),setLocation(Point),setSize(int, int),setSize(Dimension),invalidate()
      • reshape

        @Deprecatedpublic void reshape(int x,                    int y,                    int width,                    int height)
        Deprecated. As of JDK version 1.1, replaced bysetBounds(int, int, int, int).
        Reshapes the bounding rectangle for this component.
        Parameters:
        x - thex coordinate of the upper left corner of the rectangle
        y - they coordinate of the upper left corner of the rectangle
        width - the width of the rectangle
        height - the height of the rectangle
      • getX

        public int getX()
        Returns the current x coordinate of the components origin. This method is preferable to writingcomponent.getBounds().x, orcomponent.getLocation().x because it doesn't cause any heap allocations.
        Returns:
        the current x coordinate of the components origin
        Since:
        1.2
      • getY

        public int getY()
        Returns the current y coordinate of the components origin. This method is preferable to writingcomponent.getBounds().y, orcomponent.getLocation().y because it doesn't cause any heap allocations.
        Returns:
        the current y coordinate of the components origin
        Since:
        1.2
      • getWidth

        public int getWidth()
        Returns the current width of this component. This method is preferable to writingcomponent.getBounds().width, orcomponent.getSize().width because it doesn't cause any heap allocations.
        Returns:
        the current width of this component
        Since:
        1.2
      • getHeight

        public int getHeight()
        Returns the current height of this component. This method is preferable to writingcomponent.getBounds().height, orcomponent.getSize().height because it doesn't cause any heap allocations.
        Returns:
        the current height of this component
        Since:
        1.2
      • getBounds

        public Rectangle getBounds(Rectangle rv)
        Stores the bounds of this component into "return value"rv and returnrv. If rv isnull a newRectangle is allocated. This version ofgetBounds is useful if the caller wants to avoid allocating a newRectangle object on the heap.
        Parameters:
        rv - the return value, modified to the components bounds
        Returns:
        rv
      • getSize

        public Dimension getSize(Dimension rv)
        Stores the width/height of this component into "return value"rv and returnrv. If rv isnull a newDimension object is allocated. This version ofgetSize is useful if the caller wants to avoid allocating a newDimension object on the heap.
        Parameters:
        rv - the return value, modified to the components size
        Returns:
        rv
      • getLocation

        public Point getLocation(Point rv)
        Stores the x,y origin of this component into "return value"rv and returnrv. If rv isnull a newPoint is allocated. This version ofgetLocation is useful if the caller wants to avoid allocating a newPoint object on the heap.
        Parameters:
        rv - the return value, modified to the components location
        Returns:
        rv
      • isOpaque

        public boolean isOpaque()
        Returns true if this component is completely opaque, returns false by default.

        An opaque component paints every pixel within its rectangular region. A non-opaque component paints only some of its pixels, allowing the pixels underneath it to "show through". A component that does not fully paint its pixels therefore provides a degree of transparency.

        Subclasses that guarantee to always completely paint their contents should override this method and return true.

        Returns:
        true if this component is completely opaque
        Since:
        1.2
        See Also:
        isLightweight()
      • isLightweight

        public boolean isLightweight()
        A lightweight component doesn't have a native toolkit peer. Subclasses ofComponent andContainer, other than the ones defined in this package likeButton orScrollbar, are lightweight. All of the Swing components are lightweights.

        This method will always returnfalse if this component is not displayable because it is impossible to determine the weight of an undisplayable component.

        Returns:
        true if this component has a lightweight peer; false if it has a native peer or no peer
        Since:
        1.2
        See Also:
        isDisplayable()
      • setPreferredSize

        public void setPreferredSize(Dimension preferredSize)
        Sets the preferred size of this component to a constant value. Subsequent calls togetPreferredSize will always return this value. Setting the preferred size tonull restores the default behavior.
        Parameters:
        preferredSize - The new preferred size, or null
        Since:
        1.5
        See Also:
        getPreferredSize(),isPreferredSizeSet()
      • isPreferredSizeSet

        public boolean isPreferredSizeSet()
        Returns true if the preferred size has been set to a non-null value otherwise returns false.
        Returns:
        true ifsetPreferredSize has been invoked with a non-null value.
        Since:
        1.5
      • getPreferredSize

        public Dimension getPreferredSize()
        Gets the preferred size of this component.
        Returns:
        a dimension object indicating this component's preferred size
        See Also:
        getMinimumSize(),LayoutManager
      • preferredSize

        @Deprecatedpublic Dimension preferredSize()
        Deprecated. As of JDK version 1.1, replaced bygetPreferredSize().
        Returns the component's preferred size.
        Returns:
        the component's preferred size
      • setMinimumSize

        public void setMinimumSize(Dimension minimumSize)
        Sets the minimum size of this component to a constant value. Subsequent calls togetMinimumSize will always return this value. Setting the minimum size tonull restores the default behavior.
        Parameters:
        minimumSize - the new minimum size of this component
        Since:
        1.5
        See Also:
        getMinimumSize(),isMinimumSizeSet()
      • isMinimumSizeSet

        public boolean isMinimumSizeSet()
        Returns whether or notsetMinimumSize has been invoked with a non-null value.
        Returns:
        true ifsetMinimumSize has been invoked with a non-null value.
        Since:
        1.5
      • minimumSize

        @Deprecatedpublic Dimension minimumSize()
        Deprecated. As of JDK version 1.1, replaced bygetMinimumSize().
        Returns the minimum size of this component.
        Returns:
        the minimum size of this component
      • setMaximumSize

        public void setMaximumSize(Dimension maximumSize)
        Sets the maximum size of this component to a constant value. Subsequent calls togetMaximumSize will always return this value. Setting the maximum size tonull restores the default behavior.
        Parameters:
        maximumSize - aDimension containing the desired maximum allowable size
        Since:
        1.5
        See Also:
        getMaximumSize(),isMaximumSizeSet()
      • isMaximumSizeSet

        public boolean isMaximumSizeSet()
        Returns true if the maximum size has been set to a non-null value otherwise returns false.
        Returns:
        true ifmaximumSize is non-null, false otherwise
        Since:
        1.5
      • getAlignmentX

        public float getAlignmentX()
        Returns the alignment along the x axis. This specifies how the component would like to be aligned relative to other components. The value should be a number between 0 and 1 where 0 represents alignment along the origin, 1 is aligned the furthest away from the origin, 0.5 is centered, etc.
        Returns:
        the horizontal alignment of this component
      • getAlignmentY

        public float getAlignmentY()
        Returns the alignment along the y axis. This specifies how the component would like to be aligned relative to other components. The value should be a number between 0 and 1 where 0 represents alignment along the origin, 1 is aligned the furthest away from the origin, 0.5 is centered, etc.
        Returns:
        the vertical alignment of this component
      • getBaseline

        public int getBaseline(int width,                       int height)
        Returns the baseline. The baseline is measured from the top of the component. This method is primarily meant forLayoutManagers to align components along their baseline. A return value less than 0 indicates this component does not have a reasonable baseline and thatLayoutManagers should not align this component on its baseline.

        The default implementation returns -1. Subclasses that support baseline should override appropriately. If a value >= 0 is returned, then the component has a valid baseline for any size >= the minimum size andgetBaselineResizeBehavior can be used to determine how the baseline changes with size.

        Parameters:
        width - the width to get the baseline for
        height - the height to get the baseline for
        Returns:
        the baseline or < 0 indicating there is no reasonable baseline
        Throws:
        IllegalArgumentException - if width or height is < 0
        Since:
        1.6
        See Also:
        getBaselineResizeBehavior(),FontMetrics
      • getBaselineResizeBehavior

        public Component.BaselineResizeBehavior getBaselineResizeBehavior()
        Returns an enum indicating how the baseline of the component changes as the size changes. This method is primarily meant for layout managers and GUI builders.

        The default implementation returnsBaselineResizeBehavior.OTHER. Subclasses that have a baseline should override appropriately. Subclasses should never returnnull; if the baseline can not be calculated returnBaselineResizeBehavior.OTHER. Callers should first ask for the baseline usinggetBaseline and if a value >= 0 is returned use this method. It is acceptable for this method to return a value other thanBaselineResizeBehavior.OTHER even ifgetBaseline returns a value less than 0.

        Returns:
        an enum indicating how the baseline changes as the component size changes
        Since:
        1.6
        See Also:
        getBaseline(int, int)
      • doLayout

        public void doLayout()
        Prompts the layout manager to lay out this component. This is usually called when the component (more specifically, container) is validated.
        See Also:
        validate(),LayoutManager
      • layout

        @Deprecatedpublic void layout()
        Deprecated. As of JDK version 1.1, replaced bydoLayout().
      • invalidate

        public void invalidate()
        Invalidates this component and its ancestors.

        By default, all the ancestors of the component up to the top-most container of the hierarchy are marked invalid. If the java.awt.smartInvalidate system property is set totrue, invalidation stops on the nearest validate root of this component. Marking a containerinvalid indicates that the container needs to be laid out.

        This method is called automatically when any layout-related information changes (e.g. setting the bounds of the component, or adding the component to a container).

        This method might be called often, so it should work fast.

        Since:
        1.0
        See Also:
        validate(),doLayout(),LayoutManager,Container.isValidateRoot()
      • revalidate

        public void revalidate()
        Revalidates the component hierarchy up to the nearest validate root.

        This method first invalidates the component hierarchy starting from this component up to the nearest validate root. Afterwards, the component hierarchy is validated starting from the nearest validate root.

        This is a convenience method supposed to help application developers avoid looking for validate roots manually. Basically, it's equivalent to first calling theinvalidate() method on this component, and then calling thevalidate() method on the nearest validate root.

        Since:
        1.7
        See Also:
        Container.isValidateRoot()
      • getGraphics

        public Graphics getGraphics()
        Creates a graphics context for this component. This method will returnnull if this component is currently not displayable.
        Returns:
        a graphics context for this component, ornull if it has none
        Since:
        1.0
        See Also:
        paint(java.awt.Graphics)
      • getFontMetrics

        public FontMetrics getFontMetrics(Font font)
        Gets the font metrics for the specified font. Warning: Since Font metrics are affected by theFontRenderContext and this method does not provide one, it can return only metrics for the default render context which may not match that used when rendering on the Component ifGraphics2D functionality is being used. Instead metrics can be obtained at rendering time by callingGraphics.getFontMetrics() or text measurement APIs on theFont class.
        Parameters:
        font - the font for which font metrics is to be obtained
        Returns:
        the font metrics forfont
        Since:
        1.0
        See Also:
        getFont(),ComponentPeer.getFontMetrics(Font),Toolkit.getFontMetrics(Font)
      • setCursor

        public void setCursor(Cursor cursor)
        Sets the cursor image to the specified cursor. This cursor image is displayed when thecontains method for this component returns true for the current cursor location, and this Component is visible, displayable, and enabled. Setting the cursor of aContainer causes that cursor to be displayed within all of the container's subcomponents, except for those that have a non-null cursor.

        The method may have no visual effect if the Java platform implementation and/or the native system do not support changing the mouse cursor shape.

        Parameters:
        cursor - One of the constants defined by theCursor class; if this parameter isnull then this component will inherit the cursor of its parent
        Since:
        1.1
        See Also:
        isEnabled(),isShowing(),getCursor(),contains(int, int),Toolkit.createCustomCursor(java.awt.Image, java.awt.Point, java.lang.String),Cursor
      • getCursor

        public Cursor getCursor()
        Gets the cursor set in the component. If the component does not have a cursor set, the cursor of its parent is returned. If no cursor is set in the entire hierarchy,Cursor.DEFAULT_CURSOR is returned.
        Returns:
        the cursor for this component
        Since:
        1.1
        See Also:
        setCursor(java.awt.Cursor)
      • isCursorSet

        public boolean isCursorSet()
        Returns whether the cursor has been explicitly set for this Component. If this method returnsfalse, this Component is inheriting its cursor from an ancestor.
        Returns:
        true if the cursor has been explicitly set for this Component;false otherwise.
        Since:
        1.4
      • paint

        public void paint(Graphics g)
        Paints this component.

        This method is called when the contents of the component should be painted; such as when the component is first being shown or is damaged and in need of repair. The clip rectangle in theGraphics parameter is set to the area which needs to be painted. Subclasses ofComponent that override this method need not callsuper.paint(g).

        For performance reasons,Components with zero width or height aren't considered to need painting when they are first shown, and also aren't considered to need repair.

        Note: For more information on the paint mechanisms utilitized by AWT and Swing, including information on how to write the most efficient painting code, seePainting in AWT and Swing.

        Parameters:
        g - the graphics context to use for painting
        Since:
        1.0
        See Also:
        update(java.awt.Graphics)
      • update

        public void update(Graphics g)
        Updates this component.

        If this component is not a lightweight component, the AWT calls theupdate method in response to a call torepaint. You can assume that the background is not cleared.

        Theupdate method ofComponent calls this component'spaint method to redraw this component. This method is commonly overridden by subclasses which need to do additional work in response to a call torepaint. Subclasses of Component that override this method should either callsuper.update(g), or callpaint(g) directly from theirupdate method.

        The origin of the graphics context, its (00) coordinate point, is the top-left corner of this component. The clipping region of the graphics context is the bounding rectangle of this component.

        Note: For more information on the paint mechanisms utilitized by AWT and Swing, including information on how to write the most efficient painting code, seePainting in AWT and Swing.

        Parameters:
        g - the specified context to use for updating
        Since:
        1.0
        See Also:
        paint(java.awt.Graphics),repaint()
      • paintAll

        public void paintAll(Graphics g)
        Paints this component and all of its subcomponents.

        The origin of the graphics context, its (00) coordinate point, is the top-left corner of this component. The clipping region of the graphics context is the bounding rectangle of this component.

        Parameters:
        g - the graphics context to use for painting
        Since:
        1.0
        See Also:
        paint(java.awt.Graphics)
      • repaint

        public void repaint()
        Repaints this component.

        If this component is a lightweight component, this method causes a call to this component'spaint method as soon as possible. Otherwise, this method causes a call to this component'supdate method as soon as possible.

        Note: For more information on the paint mechanisms utilitized by AWT and Swing, including information on how to write the most efficient painting code, seePainting in AWT and Swing.

        Since:
        1.0
        See Also:
        update(Graphics)
      • repaint

        public void repaint(long tm)
        Repaints the component. If this component is a lightweight component, this results in a call topaint withintm milliseconds.

        Note: For more information on the paint mechanisms utilitized by AWT and Swing, including information on how to write the most efficient painting code, seePainting in AWT and Swing.

        Parameters:
        tm - maximum time in milliseconds before update
        Since:
        1.0
        See Also:
        paint(java.awt.Graphics),update(Graphics)
      • repaint

        public void repaint(int x,                    int y,                    int width,                    int height)
        Repaints the specified rectangle of this component.

        If this component is a lightweight component, this method causes a call to this component'spaint method as soon as possible. Otherwise, this method causes a call to this component'supdate method as soon as possible.

        Note: For more information on the paint mechanisms utilitized by AWT and Swing, including information on how to write the most efficient painting code, seePainting in AWT and Swing.

        Parameters:
        x - thex coordinate
        y - they coordinate
        width - the width
        height - the height
        Since:
        1.0
        See Also:
        update(Graphics)
      • repaint

        public void repaint(long tm,                    int x,                    int y,                    int width,                    int height)
        Repaints the specified rectangle of this component withintm milliseconds.

        If this component is a lightweight component, this method causes a call to this component'spaint method. Otherwise, this method causes a call to this component'supdate method.

        Note: For more information on the paint mechanisms utilitized by AWT and Swing, including information on how to write the most efficient painting code, seePainting in AWT and Swing.

        Parameters:
        tm - maximum time in milliseconds before update
        x - thex coordinate
        y - they coordinate
        width - the width
        height - the height
        Since:
        1.0
        See Also:
        update(Graphics)
      • print

        public void print(Graphics g)
        Prints this component. Applications should override this method for components that must do special processing before being printed or should be printed differently than they are painted.

        The default implementation of this method calls thepaint method.

        The origin of the graphics context, its (00) coordinate point, is the top-left corner of this component. The clipping region of the graphics context is the bounding rectangle of this component.

        Parameters:
        g - the graphics context to use for printing
        Since:
        1.0
        See Also:
        paint(Graphics)
      • printAll

        public void printAll(Graphics g)
        Prints this component and all of its subcomponents.

        The origin of the graphics context, its (00) coordinate point, is the top-left corner of this component. The clipping region of the graphics context is the bounding rectangle of this component.

        Parameters:
        g - the graphics context to use for printing
        Since:
        1.0
        See Also:
        print(Graphics)
      • createImage

        public Image createImage(ImageProducer producer)
        Creates an image from the specified image producer.
        Parameters:
        producer - the image producer
        Returns:
        the image produced
        Since:
        1.0
      • createImage

        public Image createImage(int width,                         int height)
        Creates an off-screen drawable image to be used for double buffering.
        Parameters:
        width - the specified width
        height - the specified height
        Returns:
        an off-screen drawable image, which can be used for double buffering. Thenull value if the component is not displayable orGraphicsEnvironment.isHeadless() returnstrue.
        Since:
        1.0
        See Also:
        isDisplayable(),GraphicsEnvironment.isHeadless()
      • createVolatileImage

        public VolatileImage createVolatileImage(int width,                                         int height)
        Creates a volatile off-screen drawable image to be used for double buffering.
        Parameters:
        width - the specified width
        height - the specified height
        Returns:
        an off-screen drawable image, which can be used for double buffering. Thenull value if the component is not displayable orGraphicsEnvironment.isHeadless() returnstrue.
        Since:
        1.4
        See Also:
        VolatileImage,isDisplayable(),GraphicsEnvironment.isHeadless()
      • createVolatileImage

        public VolatileImage createVolatileImage(int width,                                         int height,ImageCapabilities caps)                                  throwsAWTException
        Creates a volatile off-screen drawable image, with the given capabilities. The contents of this image may be lost at any time due to operating system issues, so the image must be managed via theVolatileImage interface.
        Parameters:
        width - the specified width
        height - the specified height
        caps - the image capabilities
        Returns:
        a VolatileImage object, which can be used to manage surface contents loss and capabilities. Thenull value if the component is not displayable orGraphicsEnvironment.isHeadless() returnstrue.
        Throws:
        AWTException - if an image with the specified capabilities cannot be created
        Since:
        1.4
        See Also:
        VolatileImage
      • prepareImage

        public boolean prepareImage(Image image,ImageObserver observer)
        Prepares an image for rendering on this component. The image data is downloaded asynchronously in another thread and the appropriate screen representation of the image is generated.
        Parameters:
        image - theImage for which to prepare a screen representation
        observer - theImageObserver object to be notified as the image is being prepared
        Returns:
        true if the image has already been fully prepared;false otherwise
        Since:
        1.0
      • prepareImage

        public boolean prepareImage(Image image,                            int width,                            int height,ImageObserver observer)
        Prepares an image for rendering on this component at the specified width and height.

        The image data is downloaded asynchronously in another thread, and an appropriately scaled screen representation of the image is generated.

        Parameters:
        image - the instance ofImage for which to prepare a screen representation
        width - the width of the desired screen representation
        height - the height of the desired screen representation
        observer - theImageObserver object to be notified as the image is being prepared
        Returns:
        true if the image has already been fully prepared;false otherwise
        Since:
        1.0
        See Also:
        ImageObserver
      • checkImage

        public int checkImage(Image image,ImageObserver observer)
        Returns the status of the construction of a screen representation of the specified image.

        This method does not cause the image to begin loading. An application must use theprepareImage method to force the loading of an image.

        Information on the flags returned by this method can be found with the discussion of theImageObserver interface.

        Parameters:
        image - theImage object whose status is being checked
        observer - theImageObserver object to be notified as the image is being prepared
        Returns:
        the bitwise inclusiveOR ofImageObserver flags indicating what information about the image is currently available
        Since:
        1.0
        See Also:
        prepareImage(Image, int, int, java.awt.image.ImageObserver),Toolkit.checkImage(Image, int, int, java.awt.image.ImageObserver),ImageObserver
      • checkImage

        public int checkImage(Image image,                      int width,                      int height,ImageObserver observer)
        Returns the status of the construction of a screen representation of the specified image.

        This method does not cause the image to begin loading. An application must use theprepareImage method to force the loading of an image.

        ThecheckImage method ofComponent calls its peer'scheckImage method to calculate the flags. If this component does not yet have a peer, the component's toolkit'scheckImage method is called instead.

        Information on the flags returned by this method can be found with the discussion of theImageObserver interface.

        Parameters:
        image - theImage object whose status is being checked
        width - the width of the scaled version whose status is to be checked
        height - the height of the scaled version whose status is to be checked
        observer - theImageObserver object to be notified as the image is being prepared
        Returns:
        the bitwise inclusiveOR ofImageObserver flags indicating what information about the image is currently available
        Since:
        1.0
        See Also:
        prepareImage(Image, int, int, java.awt.image.ImageObserver),Toolkit.checkImage(Image, int, int, java.awt.image.ImageObserver),ImageObserver
      • getIgnoreRepaint

        public boolean getIgnoreRepaint()
        Returns:
        whether or not paint messages received from the operating system should be ignored.
        Since:
        1.4
        See Also:
        setIgnoreRepaint(boolean)
      • contains

        public boolean contains(int x,                        int y)
        Checks whether this component "contains" the specified point, wherex andy are defined to be relative to the coordinate system of this component.
        Parameters:
        x - thex coordinate of the point
        y - they coordinate of the point
        Returns:
        true if the point is within the component; otherwisefalse
        Since:
        1.1
        See Also:
        getComponentAt(int, int)
      • inside

        @Deprecatedpublic boolean inside(int x,                      int y)
        Deprecated. As of JDK version 1.1, replaced by contains(int, int).
        Checks whether the point is inside of this component.
        Parameters:
        x - thex coordinate of the point
        y - they coordinate of the point
        Returns:
        true if the point is within the component; otherwisefalse
      • contains

        public boolean contains(Point p)
        Checks whether this component "contains" the specified point, where the point'sx andy coordinates are defined to be relative to the coordinate system of this component.
        Parameters:
        p - the point
        Returns:
        true if the point is within the component; otherwisefalse
        Throws:
        NullPointerException - ifp isnull
        Since:
        1.1
        See Also:
        getComponentAt(Point)
      • getComponentAt

        public Component getComponentAt(int x,                                int y)
        Determines if this component or one of its immediate subcomponents contains the (xy) location, and if so, returns the containing component. This method only looks one level deep. If the point (xy) is inside a subcomponent that itself has subcomponents, it does not go looking down the subcomponent tree.

        Thelocate method ofComponent simply returns the component itself if the (xy) coordinate location is inside its bounding box, andnull otherwise.

        Parameters:
        x - thex coordinate
        y - they coordinate
        Returns:
        the component or subcomponent that contains the (xy) location;null if the location is outside this component
        Since:
        1.0
        See Also:
        contains(int, int)
      • locate

        @Deprecatedpublic Component locate(int x,                        int y)
        Deprecated. As of JDK version 1.1, replaced by getComponentAt(int, int).
        Returns the component occupying the position specified (this component, or immediate child component, or null if neither of the first two occupies the location).
        Parameters:
        x - thex coordinate to search for components at
        y - they coordinate to search for components at
        Returns:
        the component at the specified location ornull
      • getComponentAt

        public Component getComponentAt(Point p)
        Returns the component or subcomponent that contains the specified point.
        Parameters:
        p - the point
        Returns:
        the component at the specified location ornull
        Since:
        1.1
        See Also:
        contains(int, int)
      • deliverEvent

        @Deprecatedpublic void deliverEvent(Event e)
        Deprecated. As of JDK version 1.1, replaced bydispatchEvent(AWTEvent e).
        Parameters:
        e - the event to deliver
      • dispatchEvent

        public final void dispatchEvent(AWTEvent e)
        Dispatches an event to this component or one of its sub components. CallsprocessEvent before returning for 1.1-style events which have been enabled for theComponent.
        Parameters:
        e - the event
      • postEvent

        @Deprecatedpublic boolean postEvent(Event e)
        Deprecated. As of JDK version 1.1, replaced by dispatchEvent(AWTEvent).
        Description copied from interface: MenuContainer
        Posts an event to the listeners.
        Specified by:
        postEvent in interface MenuContainer
        Parameters:
        e - the event to dispatch
        Returns:
        the results of posting the event
      • removeKeyListener

        public void removeKeyListener(KeyListener l)
        Removes the specified key listener so that it no longer receives key events from this component. This method performs no function, nor does it throw an exception, if the listener specified by the argument was not previously added to this component. If listenerl isnull, no exception is thrown and no action is performed.

        Refer toAWT Threading Issues for details on AWT's threading model.

        Parameters:
        l - the key listener
        Since:
        1.1
        See Also:
        KeyEvent,KeyListener,addKeyListener(java.awt.event.KeyListener),getKeyListeners()
      • getInputMethodRequests

        public InputMethodRequests getInputMethodRequests()
        Gets the input method request handler which supports requests from input methods for this component. A component that supports on-the-spot text input must override this method to return anInputMethodRequests instance. At the same time, it also has to handle input method events.
        Returns:
        the input method request handler for this component,null by default
        Since:
        1.2
        See Also:
        addInputMethodListener(java.awt.event.InputMethodListener)
      • getInputContext

        public InputContext getInputContext()
        Gets the input context used by this component for handling the communication with input methods when text is entered in this component. By default, the input context used for the parent component is returned. Components may override this to return a private input context.
        Returns:
        the input context used by this component;null if no context can be determined
        Since:
        1.2
      • enableEvents

        protected final void enableEvents(long eventsToEnable)
        Enables the events defined by the specified event mask parameter to be delivered to this component.

        Event types are automatically enabled when a listener for that event type is added to the component.

        This method only needs to be invoked by subclasses ofComponent which desire to have the specified event types delivered toprocessEvent regardless of whether or not a listener is registered.

        Parameters:
        eventsToEnable - the event mask defining the event types
        Since:
        1.1
        See Also:
        processEvent(java.awt.AWTEvent),disableEvents(long),AWTEvent
      • disableEvents

        protected final void disableEvents(long eventsToDisable)
        Disables the events defined by the specified event mask parameter from being delivered to this component.
        Parameters:
        eventsToDisable - the event mask defining the event types
        Since:
        1.1
        See Also:
        enableEvents(long)
      • coalesceEvents

        protected AWTEvent coalesceEvents(AWTEvent existingEvent,AWTEvent newEvent)
        Potentially coalesce an event being posted with an existing event. This method is called byEventQueue.postEvent if an event with the same ID as the event to be posted is found in the queue (both events must have this component as their source). This method either returns a coalesced event which replaces the existing event (and the new event is then discarded), ornull to indicate that no combining should be done (add the second event to the end of the queue). Either event parameter may be modified and returned, as the other one is discarded unlessnull is returned.

        This implementation ofcoalesceEvents coalesces two event types: mouse move (and drag) events, and paint (and update) events. For mouse move events the last event is always returned, causing intermediate moves to be discarded. For paint events, the new event is coalesced into a complexRepaintArea in the peer. The newAWTEvent is always returned.

        Parameters:
        existingEvent - the event already on theEventQueue
        newEvent - the event being posted to theEventQueue
        Returns:
        a coalesced event, ornull indicating that no coalescing was done
      • processComponentEvent

        protected void processComponentEvent(ComponentEvent e)
        Processes component events occurring on this component by dispatching them to any registeredComponentListener objects.

        This method is not called unless component events are enabled for this component. Component events are enabled when one of the following occurs:

        • AComponentListener object is registered viaaddComponentListener.
        • Component events are enabled viaenableEvents.

        Note that if the event parameter isnull the behavior is unspecified and may result in an exception.

        Parameters:
        e - the component event
        Since:
        1.1
        See Also:
        ComponentEvent,ComponentListener,addComponentListener(java.awt.event.ComponentListener),enableEvents(long)
      • processFocusEvent

        protected void processFocusEvent(FocusEvent e)
        Processes focus events occurring on this component by dispatching them to any registeredFocusListener objects.

        This method is not called unless focus events are enabled for this component. Focus events are enabled when one of the following occurs:

        • AFocusListener object is registered viaaddFocusListener.
        • Focus events are enabled viaenableEvents.

        If focus events are enabled for aComponent, the currentKeyboardFocusManager determines whether or not a focus event should be dispatched to registeredFocusListener objects. If the events are to be dispatched, theKeyboardFocusManager calls theComponent'sdispatchEvent method, which results in a call to theComponent'sprocessFocusEvent method.

        If focus events are enabled for aComponent, calling theComponent'sdispatchEvent method with aFocusEvent as the argument will result in a call to theComponent'sprocessFocusEvent method regardless of the currentKeyboardFocusManager.

        Note that if the event parameter isnull the behavior is unspecified and may result in an exception.

        Parameters:
        e - the focus event
        Since:
        1.1
        See Also:
        FocusEvent,FocusListener,KeyboardFocusManager,addFocusListener(java.awt.event.FocusListener),enableEvents(long),dispatchEvent(java.awt.AWTEvent)
      • processKeyEvent

        protected void processKeyEvent(KeyEvent e)
        Processes key events occurring on this component by dispatching them to any registeredKeyListener objects.

        This method is not called unless key events are enabled for this component. Key events are enabled when one of the following occurs:

        • AKeyListener object is registered viaaddKeyListener.
        • Key events are enabled viaenableEvents.

        If key events are enabled for aComponent, the currentKeyboardFocusManager determines whether or not a key event should be dispatched to registeredKeyListener objects. TheDefaultKeyboardFocusManager will not dispatch key events to aComponent that is not the focus owner or is not showing.

        As of J2SE 1.4,KeyEvents are redirected to the focus owner. Please see theFocus Specification for further information.

        Calling aComponent'sdispatchEvent method with aKeyEvent as the argument will result in a call to theComponent'sprocessKeyEvent method regardless of the currentKeyboardFocusManager as long as the component is showing, focused, and enabled, and key events are enabled on it.

        If the event parameter isnull the behavior is unspecified and may result in an exception.

        Parameters:
        e - the key event
        Since:
        1.1
        See Also:
        KeyEvent,KeyListener,KeyboardFocusManager,DefaultKeyboardFocusManager,processEvent(java.awt.AWTEvent),dispatchEvent(java.awt.AWTEvent),addKeyListener(java.awt.event.KeyListener),enableEvents(long),isShowing()
      • processMouseEvent

        protected void processMouseEvent(MouseEvent e)
        Processes mouse events occurring on this component by dispatching them to any registeredMouseListener objects.

        This method is not called unless mouse events are enabled for this component. Mouse events are enabled when one of the following occurs:

        • AMouseListener object is registered viaaddMouseListener.
        • Mouse events are enabled viaenableEvents.

        Note that if the event parameter isnull the behavior is unspecified and may result in an exception.

        Parameters:
        e - the mouse event
        Since:
        1.1
        See Also:
        MouseEvent,MouseListener,addMouseListener(java.awt.event.MouseListener),enableEvents(long)
      • processMouseMotionEvent

        protected void processMouseMotionEvent(MouseEvent e)
        Processes mouse motion events occurring on this component by dispatching them to any registeredMouseMotionListener objects.

        This method is not called unless mouse motion events are enabled for this component. Mouse motion events are enabled when one of the following occurs:

        • AMouseMotionListener object is registered viaaddMouseMotionListener.
        • Mouse motion events are enabled viaenableEvents.

        Note that if the event parameter isnull the behavior is unspecified and may result in an exception.

        Parameters:
        e - the mouse motion event
        Since:
        1.1
        See Also:
        MouseEvent,MouseMotionListener,addMouseMotionListener(java.awt.event.MouseMotionListener),enableEvents(long)
      • processMouseWheelEvent

        protected void processMouseWheelEvent(MouseWheelEvent e)
        Processes mouse wheel events occurring on this component by dispatching them to any registeredMouseWheelListener objects.

        This method is not called unless mouse wheel events are enabled for this component. Mouse wheel events are enabled when one of the following occurs:

        • AMouseWheelListener object is registered viaaddMouseWheelListener.
        • Mouse wheel events are enabled viaenableEvents.

        For information on how mouse wheel events are dispatched, see the class description forMouseWheelEvent.

        Note that if the event parameter isnull the behavior is unspecified and may result in an exception.

        Parameters:
        e - the mouse wheel event
        Since:
        1.4
        See Also:
        MouseWheelEvent,MouseWheelListener,addMouseWheelListener(java.awt.event.MouseWheelListener),enableEvents(long)
      • processInputMethodEvent

        protected void processInputMethodEvent(InputMethodEvent e)
        Processes input method events occurring on this component by dispatching them to any registeredInputMethodListener objects.

        This method is not called unless input method events are enabled for this component. Input method events are enabled when one of the following occurs:

        • AnInputMethodListener object is registered viaaddInputMethodListener.
        • Input method events are enabled viaenableEvents.

        Note that if the event parameter isnull the behavior is unspecified and may result in an exception.

        Parameters:
        e - the input method event
        Since:
        1.2
        See Also:
        InputMethodEvent,InputMethodListener,addInputMethodListener(java.awt.event.InputMethodListener),enableEvents(long)
      • processHierarchyEvent

        protected void processHierarchyEvent(HierarchyEvent e)
        Processes hierarchy events occurring on this component by dispatching them to any registeredHierarchyListener objects.

        This method is not called unless hierarchy events are enabled for this component. Hierarchy events are enabled when one of the following occurs:

        • AnHierarchyListener object is registered viaaddHierarchyListener.
        • Hierarchy events are enabled viaenableEvents.

        Note that if the event parameter isnull the behavior is unspecified and may result in an exception.

        Parameters:
        e - the hierarchy event
        Since:
        1.3
        See Also:
        HierarchyEvent,HierarchyListener,addHierarchyListener(java.awt.event.HierarchyListener),enableEvents(long)
      • processHierarchyBoundsEvent

        protected void processHierarchyBoundsEvent(HierarchyEvent e)
        Processes hierarchy bounds events occurring on this component by dispatching them to any registeredHierarchyBoundsListener objects.

        This method is not called unless hierarchy bounds events are enabled for this component. Hierarchy bounds events are enabled when one of the following occurs:

        • AnHierarchyBoundsListener object is registered viaaddHierarchyBoundsListener.
        • Hierarchy bounds events are enabled viaenableEvents.

        Note that if the event parameter isnull the behavior is unspecified and may result in an exception.

        Parameters:
        e - the hierarchy event
        Since:
        1.3
        See Also:
        HierarchyEvent,HierarchyBoundsListener,addHierarchyBoundsListener(java.awt.event.HierarchyBoundsListener),enableEvents(long)
      • handleEvent

        @Deprecatedpublic boolean handleEvent(Event evt)
        Deprecated. As of JDK version 1.1 replaced by processEvent(AWTEvent).
        Parameters:
        evt - the event to handle
        Returns:
        true if the event was handled,false otherwise
      • mouseDown

        @Deprecatedpublic boolean mouseDown(Event evt,                         int x,                         int y)
        Deprecated. As of JDK version 1.1, replaced by processMouseEvent(MouseEvent).
        Parameters:
        evt - the event to handle
        x - the x coordinate
        y - the y coordinate
        Returns:
        false
      • mouseDrag

        @Deprecatedpublic boolean mouseDrag(Event evt,                         int x,                         int y)
        Deprecated. As of JDK version 1.1, replaced by processMouseMotionEvent(MouseEvent).
        Parameters:
        evt - the event to handle
        x - the x coordinate
        y - the y coordinate
        Returns:
        false
      • mouseUp

        @Deprecatedpublic boolean mouseUp(Event evt,                       int x,                       int y)
        Deprecated. As of JDK version 1.1, replaced by processMouseEvent(MouseEvent).
        Parameters:
        evt - the event to handle
        x - the x coordinate
        y - the y coordinate
        Returns:
        false
      • mouseMove

        @Deprecatedpublic boolean mouseMove(Event evt,                         int x,                         int y)
        Deprecated. As of JDK version 1.1, replaced by processMouseMotionEvent(MouseEvent).
        Parameters:
        evt - the event to handle
        x - the x coordinate
        y - the y coordinate
        Returns:
        false
      • mouseEnter

        @Deprecatedpublic boolean mouseEnter(Event evt,                          int x,                          int y)
        Deprecated. As of JDK version 1.1, replaced by processMouseEvent(MouseEvent).
        Parameters:
        evt - the event to handle
        x - the x coordinate
        y - the y coordinate
        Returns:
        false
      • mouseExit

        @Deprecatedpublic boolean mouseExit(Event evt,                         int x,                         int y)
        Deprecated. As of JDK version 1.1, replaced by processMouseEvent(MouseEvent).
        Parameters:
        evt - the event to handle
        x - the x coordinate
        y - the y coordinate
        Returns:
        false
      • keyDown

        @Deprecatedpublic boolean keyDown(Event evt,                       int key)
        Deprecated. As of JDK version 1.1, replaced by processKeyEvent(KeyEvent).
        Parameters:
        evt - the event to handle
        key - the key pressed
        Returns:
        false
      • keyUp

        @Deprecatedpublic boolean keyUp(Event evt,                     int key)
        Deprecated. As of JDK version 1.1, replaced by processKeyEvent(KeyEvent).
        Parameters:
        evt - the event to handle
        key - the key pressed
        Returns:
        false
      • action

        @Deprecatedpublic boolean action(Event evt,Object what)
        Deprecated. As of JDK version 1.1, should register this component as ActionListener on component which fires action events.
        Parameters:
        evt - the event to handle
        what - the object acted on
        Returns:
        false
      • addNotify

        public void addNotify()
        Makes thisComponent displayable by connecting it to a native screen resource. This method is called internally by the toolkit and should not be called directly by programs.

        This method changes layout-related information, and therefore, invalidates the component hierarchy.

        Since:
        1.0
        See Also:
        isDisplayable(),removeNotify(),invalidate()
      • removeNotify

        public void removeNotify()
        Makes thisComponent undisplayable by destroying it native screen resource.

        This method is called by the toolkit internally and should not be called directly by programs. Code overriding this method should callsuper.removeNotify as the first line of the overriding method.

        Since:
        1.0
        See Also:
        isDisplayable(),addNotify()
      • gotFocus

        @Deprecatedpublic boolean gotFocus(Event evt,Object what)
        Deprecated. As of JDK version 1.1, replaced by processFocusEvent(FocusEvent).
        Parameters:
        evt - the event to handle
        what - the object focused
        Returns:
        false
      • lostFocus

        @Deprecatedpublic boolean lostFocus(Event evt,Object what)
        Deprecated. As of JDK version 1.1, replaced by processFocusEvent(FocusEvent).
        Parameters:
        evt - the event to handle
        what - the object focused
        Returns:
        false
      • isFocusTraversable

        @Deprecatedpublic boolean isFocusTraversable()
        Deprecated. As of 1.4, replaced byisFocusable().
        Returns whether thisComponent can become the focus owner.
        Returns:
        true if thisComponent is focusable;false otherwise
        Since:
        1.1
        See Also:
        setFocusable(boolean)
      • isFocusable

        public boolean isFocusable()
        Returns whether this Component can be focused.
        Returns:
        true if this Component is focusable;false otherwise.
        Since:
        1.4
        See Also:
        setFocusable(boolean)
      • setFocusable

        public void setFocusable(boolean focusable)
        Sets the focusable state of this Component to the specified value. This value overrides the Component's default focusability.
        Parameters:
        focusable - indicates whether this Component is focusable
        Since:
        1.4
        See Also:
        isFocusable()
      • setFocusTraversalKeys

        public void setFocusTraversalKeys(int id,Set<? extendsAWTKeyStroke> keystrokes)
        Sets the focus traversal keys for a given traversal operation for this Component.

        The default values for a Component's focus traversal keys are implementation-dependent. Sun recommends that all implementations for a particular native platform use the same default values. The recommendations for Windows and Unix are listed below. These recommendations are used in the Sun AWT implementations.

        IdentifierMeaningDefault
        KeyboardFocusManager.FORWARD_TRAVERSAL_KEYSNormal forward keyboard traversalTAB on KEY_PRESSED, CTRL-TAB on KEY_PRESSED
        KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYSNormal reverse keyboard traversalSHIFT-TAB on KEY_PRESSED, CTRL-SHIFT-TAB on KEY_PRESSED
        KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYSGo up one focus traversal cyclenone
        To disable a traversal key, use an empty Set; Collections.EMPTY_SET is recommended.

        Using the AWTKeyStroke API, client code can specify on which of two specific KeyEvents, KEY_PRESSED or KEY_RELEASED, the focus traversal operation will occur. Regardless of which KeyEvent is specified, however, all KeyEvents related to the focus traversal key, including the associated KEY_TYPED event, will be consumed, and will not be dispatched to any Component. It is a runtime error to specify a KEY_TYPED event as mapping to a focus traversal operation, or to map the same event to multiple default focus traversal operations.

        If a value of null is specified for the Set, this Component inherits the Set from its parent. If all ancestors of this Component have null specified for the Set, then the current KeyboardFocusManager's default Set is used.

        This method may throw aClassCastException if anyObject inkeystrokes is not anAWTKeyStroke.

        Parameters:
        id - one of KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, or KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS
        keystrokes - the Set of AWTKeyStroke for the specified operation
        Throws:
        IllegalArgumentException - if id is not one of KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, or KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS, or if keystrokes contains null, or if any keystroke represents a KEY_TYPED event, or if any keystroke already maps to another focus traversal operation for this Component
        Since:
        1.4
        See Also:
        getFocusTraversalKeys(int),KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS,KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS,KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS
      • areFocusTraversalKeysSet

        public boolean areFocusTraversalKeysSet(int id)
        Returns whether the Set of focus traversal keys for the given focus traversal operation has been explicitly defined for this Component. If this method returnsfalse, this Component is inheriting the Set from an ancestor, or from the current KeyboardFocusManager.
        Parameters:
        id - one of KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, or KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS
        Returns:
        true if the Set of focus traversal keys for the given focus traversal operation has been explicitly defined for this Component;false otherwise.
        Throws:
        IllegalArgumentException - if id is not one of KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, or KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS
        Since:
        1.4
      • setFocusTraversalKeysEnabled

        public void setFocusTraversalKeysEnabled(boolean focusTraversalKeysEnabled)
        Sets whether focus traversal keys are enabled for this Component. Components for which focus traversal keys are disabled receive key events for focus traversal keys. Components for which focus traversal keys are enabled do not see these events; instead, the events are automatically converted to traversal operations.
        Parameters:
        focusTraversalKeysEnabled - whether focus traversal keys are enabled for this Component
        Since:
        1.4
        See Also:
        getFocusTraversalKeysEnabled(),setFocusTraversalKeys(int, java.util.Set<? extends java.awt.AWTKeyStroke>),getFocusTraversalKeys(int)
      • requestFocus

        public void requestFocus()
        Requests that this Component get the input focus, and that this Component's top-level ancestor become the focused Window. This component must be displayable, focusable, visible and all of its ancestors (with the exception of the top-level Window) must be visible for the request to be granted. Every effort will be made to honor the request; however, in some cases it may be impossible to do so. Developers must never assume that this Component is the focus owner until this Component receives a FOCUS_GAINED event. If this request is denied because this Component's top-level Window cannot become the focused Window, the request will be remembered and will be granted when the Window is later focused by the user.

        This method cannot be used to set the focus owner to no Component at all. UseKeyboardFocusManager.clearGlobalFocusOwner() instead.

        Because the focus behavior of this method is platform-dependent, developers are strongly encouraged to userequestFocusInWindow when possible.

        Note: Not all focus transfers result from invoking this method. As such, a component may receive focus without this or any of the otherrequestFocus methods ofComponent being invoked.

        Since:
        1.0
        See Also:
        requestFocusInWindow(),FocusEvent,addFocusListener(java.awt.event.FocusListener),isFocusable(),isDisplayable(),KeyboardFocusManager.clearGlobalFocusOwner()
      • requestFocus

        public void requestFocus(FocusEvent.Cause cause)
        Requests by the reason ofcause that this Component get the input focus, and that this Component's top-level ancestor become the focused Window. This component must be displayable, focusable, visible and all of its ancestors (with the exception of the top-level Window) must be visible for the request to be granted. Every effort will be made to honor the request; however, in some cases it may be impossible to do so. Developers must never assume that this Component is the focus owner until this Component receives a FOCUS_GAINED event.

        The focus request effect may also depend on the provided cause value. If this request is succeed theFocusEvent generated in the result will receive the cause value specified as the argument of method. If this request is denied because this Component's top-level Window cannot become the focused Window, the request will be remembered and will be granted when the Window is later focused by the user.

        This method cannot be used to set the focus owner to no Component at all. UseKeyboardFocusManager.clearGlobalFocusOwner() instead.

        Because the focus behavior of this method is platform-dependent, developers are strongly encouraged to userequestFocusInWindow(FocusEvent.Cause) when possible.

        Note: Not all focus transfers result from invoking this method. As such, a component may receive focus without this or any of the otherrequestFocus methods ofComponent being invoked.

        Parameters:
        cause - the cause why the focus is requested
        Since:
        9
        See Also:
        FocusEvent,FocusEvent.Cause,requestFocusInWindow(FocusEvent.Cause),FocusEvent,addFocusListener(java.awt.event.FocusListener),isFocusable(),isDisplayable(),KeyboardFocusManager.clearGlobalFocusOwner()
      • requestFocus

        protected boolean requestFocus(boolean temporary)
        Requests that thisComponent get the input focus, and that thisComponent's top-level ancestor become the focusedWindow. This component must be displayable, focusable, visible and all of its ancestors (with the exception of the top-level Window) must be visible for the request to be granted. Every effort will be made to honor the request; however, in some cases it may be impossible to do so. Developers must never assume that this component is the focus owner until this component receives a FOCUS_GAINED event. If this request is denied because this component's top-level window cannot become the focused window, the request will be remembered and will be granted when the window is later focused by the user.

        This method returns a boolean value. Iffalse is returned, the request isguaranteed to fail. Iftrue is returned, the request will succeedunless it is vetoed, or an extraordinary event, such as disposal of the component's peer, occurs before the request can be granted by the native windowing system. Again, while a return value oftrue indicates that the request is likely to succeed, developers must never assume that this component is the focus owner until this component receives a FOCUS_GAINED event.

        This method cannot be used to set the focus owner to no component at all. UseKeyboardFocusManager.clearGlobalFocusOwner instead.

        Because the focus behavior of this method is platform-dependent, developers are strongly encouraged to userequestFocusInWindow when possible.

        Every effort will be made to ensure thatFocusEvents generated as a result of this request will have the specified temporary value. However, because specifying an arbitrary temporary state may not be implementable on all native windowing systems, correct behavior for this method can be guaranteed only for lightweightComponents. This method is not intended for general use, but exists instead as a hook for lightweight component libraries, such as Swing.

        Note: Not all focus transfers result from invoking this method. As such, a component may receive focus without this or any of the otherrequestFocus methods ofComponent being invoked.

        Parameters:
        temporary - true if the focus change is temporary, such as when the window loses the focus; for more information on temporary focus changes see theFocus Specification
        Returns:
        false if the focus change request is guaranteed to fail;true if it is likely to succeed
        Since:
        1.4
        See Also:
        FocusEvent,addFocusListener(java.awt.event.FocusListener),isFocusable(),isDisplayable(),KeyboardFocusManager.clearGlobalFocusOwner()
      • requestFocus

        protected boolean requestFocus(boolean temporary,FocusEvent.Cause cause)
        Requests by the reason ofcause that thisComponent get the input focus, and that thisComponent's top-level ancestor become the focusedWindow. This component must be displayable, focusable, visible and all of its ancestors (with the exception of the top-level Window) must be visible for the request to be granted. Every effort will be made to honor the request; however, in some cases it may be impossible to do so. Developers must never assume that this component is the focus owner until this component receives a FOCUS_GAINED event. If this request is denied because this component's top-level window cannot become the focused window, the request will be remembered and will be granted when the window is later focused by the user.

        This method returns a boolean value. Iffalse is returned, the request isguaranteed to fail. Iftrue is returned, the request will succeedunless it is vetoed, or an extraordinary event, such as disposal of the component's peer, occurs before the request can be granted by the native windowing system. Again, while a return value oftrue indicates that the request is likely to succeed, developers must never assume that this component is the focus owner until this component receives a FOCUS_GAINED event.

        The focus request effect may also depend on the provided cause value. If this request is succeed the {FocusEvent} generated in the result will receive the cause value specified as the argument of the method.

        This method cannot be used to set the focus owner to no component at all. UseKeyboardFocusManager.clearGlobalFocusOwner instead.

        Because the focus behavior of this method is platform-dependent, developers are strongly encouraged to userequestFocusInWindow when possible.

        Every effort will be made to ensure thatFocusEvents generated as a result of this request will have the specified temporary value. However, because specifying an arbitrary temporary state may not be implementable on all native windowing systems, correct behavior for this method can be guaranteed only for lightweightComponents. This method is not intended for general use, but exists instead as a hook for lightweight component libraries, such as Swing.

        Note: Not all focus transfers result from invoking this method. As such, a component may receive focus without this or any of the otherrequestFocus methods ofComponent being invoked.

        Parameters:
        temporary - true if the focus change is temporary, such as when the window loses the focus; for more information on temporary focus changes see theFocus Specification
        cause - the cause why the focus is requested
        Returns:
        false if the focus change request is guaranteed to fail;true if it is likely to succeed
        Since:
        9
        See Also:
        FocusEvent,FocusEvent.Cause,addFocusListener(java.awt.event.FocusListener),isFocusable(),isDisplayable(),KeyboardFocusManager.clearGlobalFocusOwner()
      • requestFocusInWindow

        public boolean requestFocusInWindow()
        Requests that this Component get the input focus, if this Component's top-level ancestor is already the focused Window. This component must be displayable, focusable, visible and all of its ancestors (with the exception of the top-level Window) must be visible for the request to be granted. Every effort will be made to honor the request; however, in some cases it may be impossible to do so. Developers must never assume that this Component is the focus owner until this Component receives a FOCUS_GAINED event.

        This method returns a boolean value. Iffalse is returned, the request isguaranteed to fail. Iftrue is returned, the request will succeedunless it is vetoed, or an extraordinary event, such as disposal of the Component's peer, occurs before the request can be granted by the native windowing system. Again, while a return value oftrue indicates that the request is likely to succeed, developers must never assume that this Component is the focus owner until this Component receives a FOCUS_GAINED event.

        This method cannot be used to set the focus owner to no Component at all. UseKeyboardFocusManager.clearGlobalFocusOwner() instead.

        The focus behavior of this method can be implemented uniformly across platforms, and thus developers are strongly encouraged to use this method overrequestFocus when possible. Code which relies onrequestFocus may exhibit different focus behavior on different platforms.

        Note: Not all focus transfers result from invoking this method. As such, a component may receive focus without this or any of the otherrequestFocus methods ofComponent being invoked.

        Returns:
        false if the focus change request is guaranteed to fail;true if it is likely to succeed
        Since:
        1.4
        See Also:
        requestFocus(),FocusEvent,addFocusListener(java.awt.event.FocusListener),isFocusable(),isDisplayable(),KeyboardFocusManager.clearGlobalFocusOwner()
      • requestFocusInWindow

        public boolean requestFocusInWindow(FocusEvent.Cause cause)
        Requests by the reason ofcause that this Component get the input focus, if this Component's top-level ancestor is already the focused Window. This component must be displayable, focusable, visible and all of its ancestors (with the exception of the top-level Window) must be visible for the request to be granted. Every effort will be made to honor the request; however, in some cases it may be impossible to do so. Developers must never assume that this Component is the focus owner until this Component receives a FOCUS_GAINED event.

        This method returns a boolean value. Iffalse is returned, the request isguaranteed to fail. Iftrue is returned, the request will succeedunless it is vetoed, or an extraordinary event, such as disposal of the Component's peer, occurs before the request can be granted by the native windowing system. Again, while a return value oftrue indicates that the request is likely to succeed, developers must never assume that this Component is the focus owner until this Component receives a FOCUS_GAINED event.

        The focus request effect may also depend on the provided cause value. If this request is succeed theFocusEvent generated in the result will receive the cause value specified as the argument of the method.

        This method cannot be used to set the focus owner to no Component at all. UseKeyboardFocusManager.clearGlobalFocusOwner() instead.

        The focus behavior of this method can be implemented uniformly across platforms, and thus developers are strongly encouraged to use this method overrequestFocus(FocusEvent.Cause) when possible. Code which relies onrequestFocus(FocusEvent.Cause) may exhibit different focus behavior on different platforms.

        Note: Not all focus transfers result from invoking this method. As such, a component may receive focus without this or any of the otherrequestFocus methods ofComponent being invoked.

        Parameters:
        cause - the cause why the focus is requested
        Returns:
        false if the focus change request is guaranteed to fail;true if it is likely to succeed
        Since:
        9
        See Also:
        requestFocus(FocusEvent.Cause),FocusEvent,FocusEvent.Cause,FocusEvent,addFocusListener(java.awt.event.FocusListener),isFocusable(),isDisplayable(),KeyboardFocusManager.clearGlobalFocusOwner()
      • requestFocusInWindow

        protected boolean requestFocusInWindow(boolean temporary)
        Requests that thisComponent get the input focus, if thisComponent's top-level ancestor is already the focusedWindow. This component must be displayable, focusable, visible and all of its ancestors (with the exception of the top-level Window) must be visible for the request to be granted. Every effort will be made to honor the request; however, in some cases it may be impossible to do so. Developers must never assume that this component is the focus owner until this component receives a FOCUS_GAINED event.

        This method returns a boolean value. Iffalse is returned, the request isguaranteed to fail. Iftrue is returned, the request will succeedunless it is vetoed, or an extraordinary event, such as disposal of the component's peer, occurs before the request can be granted by the native windowing system. Again, while a return value oftrue indicates that the request is likely to succeed, developers must never assume that this component is the focus owner until this component receives a FOCUS_GAINED event.

        This method cannot be used to set the focus owner to no component at all. UseKeyboardFocusManager.clearGlobalFocusOwner instead.

        The focus behavior of this method can be implemented uniformly across platforms, and thus developers are strongly encouraged to use this method overrequestFocus when possible. Code which relies onrequestFocus may exhibit different focus behavior on different platforms.

        Every effort will be made to ensure thatFocusEvents generated as a result of this request will have the specified temporary value. However, because specifying an arbitrary temporary state may not be implementable on all native windowing systems, correct behavior for this method can be guaranteed only for lightweight components. This method is not intended for general use, but exists instead as a hook for lightweight component libraries, such as Swing.

        Note: Not all focus transfers result from invoking this method. As such, a component may receive focus without this or any of the otherrequestFocus methods ofComponent being invoked.

        Parameters:
        temporary - true if the focus change is temporary, such as when the window loses the focus; for more information on temporary focus changes see theFocus Specification
        Returns:
        false if the focus change request is guaranteed to fail;true if it is likely to succeed
        Since:
        1.4
        See Also:
        requestFocus(),FocusEvent,addFocusListener(java.awt.event.FocusListener),isFocusable(),isDisplayable(),KeyboardFocusManager.clearGlobalFocusOwner()
      • getFocusCycleRootAncestor

        public Container getFocusCycleRootAncestor()
        Returns the Container which is the focus cycle root of this Component's focus traversal cycle. Each focus traversal cycle has only a single focus cycle root and each Component which is not a Container belongs to only a single focus traversal cycle. Containers which are focus cycle roots belong to two cycles: one rooted at the Container itself, and one rooted at the Container's nearest focus-cycle-root ancestor. For such Containers, this method will return the Container's nearest focus-cycle- root ancestor.
        Returns:
        this Component's nearest focus-cycle-root ancestor
        Since:
        1.4
        See Also:
        Container.isFocusCycleRoot()
      • isFocusCycleRoot

        public boolean isFocusCycleRoot(Container container)
        Returns whether the specified Container is the focus cycle root of this Component's focus traversal cycle. Each focus traversal cycle has only a single focus cycle root and each Component which is not a Container belongs to only a single focus traversal cycle.
        Parameters:
        container - the Container to be tested
        Returns:
        true if the specified Container is a focus-cycle- root of this Component;false otherwise
        Since:
        1.4
        See Also:
        Container.isFocusCycleRoot()
      • transferFocus

        public void transferFocus()
        Transfers the focus to the next component, as though this Component were the focus owner.
        Since:
        1.1
        See Also:
        requestFocus()
      • nextFocus

        @Deprecatedpublic void nextFocus()
        Deprecated. As of JDK version 1.1, replaced by transferFocus().
      • transferFocusBackward

        public void transferFocusBackward()
        Transfers the focus to the previous component, as though this Component were the focus owner.
        Since:
        1.4
        See Also:
        requestFocus()
      • transferFocusUpCycle

        public void transferFocusUpCycle()
        Transfers the focus up one focus traversal cycle. Typically, the focus owner is set to this Component's focus cycle root, and the current focus cycle root is set to the new focus owner's focus cycle root. If, however, this Component's focus cycle root is a Window, then the focus owner is set to the focus cycle root's default Component to focus, and the current focus cycle root is unchanged.
        Since:
        1.4
        See Also:
        requestFocus(),Container.isFocusCycleRoot(),Container.setFocusCycleRoot(boolean)
      • hasFocus

        public boolean hasFocus()
        Returnstrue if thisComponent is the focus owner. This method is obsolete, and has been replaced byisFocusOwner().
        Returns:
        true if thisComponent is the focus owner;false otherwise
        Since:
        1.2
      • isFocusOwner

        public boolean isFocusOwner()
        Returnstrue if thisComponent is the focus owner.
        Returns:
        true if thisComponent is the focus owner;false otherwise
        Since:
        1.4
      • paramString

        protected String paramString()
        Returns a string representing the state of this component. This method is intended to be used only for debugging purposes, and the content and format of the returned string may vary between implementations. The returned string may be empty but may not benull.
        Returns:
        a string representation of this component's state
        Since:
        1.0
      • toString

        public String toString()
        Returns a string representation of this component and its values.
        Overrides:
        toString in class Object
        Returns:
        a string representation of this component
        Since:
        1.0
      • list

        public void list()
        Prints a listing of this component to the standard system output streamSystem.out.
        Since:
        1.0
        See Also:
        System.out
      • list

        public void list(PrintStream out)
        Prints a listing of this component to the specified output stream.
        Parameters:
        out - a print stream
        Throws:
        NullPointerException - ifout isnull
        Since:
        1.0
      • list

        public void list(PrintWriter out)
        Prints a listing to the specified print writer.
        Parameters:
        out - the print writer to print to
        Throws:
        NullPointerException - ifout isnull
        Since:
        1.1
      • addPropertyChangeListener

        public void addPropertyChangeListener(PropertyChangeListener listener)
        Adds a PropertyChangeListener to the listener list. The listener is registered for all bound properties of this class, including the following:
        • this Component's font ("font")
        • this Component's background color ("background")
        • this Component's foreground color ("foreground")
        • this Component's focusability ("focusable")
        • this Component's focus traversal keys enabled state ("focusTraversalKeysEnabled")
        • this Component's Set of FORWARD_TRAVERSAL_KEYS ("forwardFocusTraversalKeys")
        • this Component's Set of BACKWARD_TRAVERSAL_KEYS ("backwardFocusTraversalKeys")
        • this Component's Set of UP_CYCLE_TRAVERSAL_KEYS ("upCycleFocusTraversalKeys")
        • this Component's preferred size ("preferredSize")
        • this Component's minimum size ("minimumSize")
        • this Component's maximum size ("maximumSize")
        • this Component's name ("name")
        Note that if thisComponent is inheriting a bound property, then no event will be fired in response to a change in the inherited property.

        Iflistener isnull, no exception is thrown and no action is performed.

        Parameters:
        listener - the property change listener to be added
        See Also:
        removePropertyChangeListener(java.beans.PropertyChangeListener),getPropertyChangeListeners(),addPropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)
      • addPropertyChangeListener

        public void addPropertyChangeListener(String propertyName,PropertyChangeListener listener)
        Adds a PropertyChangeListener to the listener list for a specific property. The specified property may be user-defined, or one of the following:
        • this Component's font ("font")
        • this Component's background color ("background")
        • this Component's foreground color ("foreground")
        • this Component's focusability ("focusable")
        • this Component's focus traversal keys enabled state ("focusTraversalKeysEnabled")
        • this Component's Set of FORWARD_TRAVERSAL_KEYS ("forwardFocusTraversalKeys")
        • this Component's Set of BACKWARD_TRAVERSAL_KEYS ("backwardFocusTraversalKeys")
        • this Component's Set of UP_CYCLE_TRAVERSAL_KEYS ("upCycleFocusTraversalKeys")
        Note that if thisComponent is inheriting a bound property, then no event will be fired in response to a change in the inherited property.

        IfpropertyName orlistener isnull, no exception is thrown and no action is taken.

        Parameters:
        propertyName - one of the property names listed above
        listener - the property change listener to be added
        See Also:
        removePropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener),getPropertyChangeListeners(java.lang.String),addPropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)
      • firePropertyChange

        protected void firePropertyChange(String propertyName,Object oldValue,Object newValue)
        Support for reporting bound property changes for Object properties. This method can be called when a bound property has changed and it will send the appropriate PropertyChangeEvent to any registered PropertyChangeListeners.
        Parameters:
        propertyName - the property whose value has changed
        oldValue - the property's previous value
        newValue - the property's new value
      • firePropertyChange

        protected void firePropertyChange(String propertyName,                                  boolean oldValue,                                  boolean newValue)
        Support for reporting bound property changes for boolean properties. This method can be called when a bound property has changed and it will send the appropriate PropertyChangeEvent to any registered PropertyChangeListeners.
        Parameters:
        propertyName - the property whose value has changed
        oldValue - the property's previous value
        newValue - the property's new value
        Since:
        1.4
      • firePropertyChange

        protected void firePropertyChange(String propertyName,                                  int oldValue,                                  int newValue)
        Support for reporting bound property changes for integer properties. This method can be called when a bound property has changed and it will send the appropriate PropertyChangeEvent to any registered PropertyChangeListeners.
        Parameters:
        propertyName - the property whose value has changed
        oldValue - the property's previous value
        newValue - the property's new value
        Since:
        1.4
      • firePropertyChange

        public void firePropertyChange(String propertyName,                               byte oldValue,                               byte newValue)
        Reports a bound property change.
        Parameters:
        propertyName - the programmatic name of the property that was changed
        oldValue - the old value of the property (as a byte)
        newValue - the new value of the property (as a byte)
        Since:
        1.5
        See Also:
        firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object)
      • firePropertyChange

        public void firePropertyChange(String propertyName,                               char oldValue,                               char newValue)
        Reports a bound property change.
        Parameters:
        propertyName - the programmatic name of the property that was changed
        oldValue - the old value of the property (as a char)
        newValue - the new value of the property (as a char)
        Since:
        1.5
        See Also:
        firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object)
      • firePropertyChange

        public void firePropertyChange(String propertyName,                               short oldValue,                               short newValue)
        Reports a bound property change.
        Parameters:
        propertyName - the programmatic name of the property that was changed
        oldValue - the old value of the property (as a short)
        newValue - the new value of the property (as a short)
        Since:
        1.5
        See Also:
        firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object)
      • firePropertyChange

        public void firePropertyChange(String propertyName,                               long oldValue,                               long newValue)
        Reports a bound property change.
        Parameters:
        propertyName - the programmatic name of the property that was changed
        oldValue - the old value of the property (as a long)
        newValue - the new value of the property (as a long)
        Since:
        1.5
        See Also:
        firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object)
      • firePropertyChange

        public void firePropertyChange(String propertyName,                               float oldValue,                               float newValue)
        Reports a bound property change.
        Parameters:
        propertyName - the programmatic name of the property that was changed
        oldValue - the old value of the property (as a float)
        newValue - the new value of the property (as a float)
        Since:
        1.5
        See Also:
        firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object)
      • firePropertyChange

        public void firePropertyChange(String propertyName,                               double oldValue,                               double newValue)
        Reports a bound property change.
        Parameters:
        propertyName - the programmatic name of the property that was changed
        oldValue - the old value of the property (as a double)
        newValue - the new value of the property (as a double)
        Since:
        1.5
        See Also:
        firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object)
      • setComponentOrientation

        public void setComponentOrientation(ComponentOrientation o)
        Sets the language-sensitive orientation that is to be used to order the elements or text within this component. Language-sensitiveLayoutManager andComponent subclasses will use this property to determine how to lay out and draw components.

        At construction time, a component's orientation is set toComponentOrientation.UNKNOWN, indicating that it has not been specified explicitly. The UNKNOWN orientation behaves the same asComponentOrientation.LEFT_TO_RIGHT.

        To set the orientation of a single component, use this method. To set the orientation of an entire component hierarchy, useapplyComponentOrientation.

        This method changes layout-related information, and therefore, invalidates the component hierarchy.

        Parameters:
        o - the orientation to be set
        See Also:
        ComponentOrientation,invalidate()
      • getComponentOrientation

        public ComponentOrientation getComponentOrientation()
        Retrieves the language-sensitive orientation that is to be used to order the elements or text within this component.LayoutManager andComponent subclasses that wish to respect orientation should call this method to get the component's orientation before performing layout or drawing.
        Returns:
        the orientation to order the elements or text
        See Also:
        ComponentOrientation
      • getAccessibleContext

        public AccessibleContext getAccessibleContext()
        Gets theAccessibleContext associated with thisComponent. The method implemented by this base class returns null. Classes that extendComponent should implement this method to return theAccessibleContext associated with the subclass.
        Returns:
        theAccessibleContext of thisComponent
        Since:
        1.3
      • setMixingCutoutShape

        public void setMixingCutoutShape(Shape shape)
        Sets a 'mixing-cutout' shape for this lightweight component. This method is used exclusively for the purposes of the Heavyweight/Lightweight Components Mixing feature and will have no effect if applied to a heavyweight component. By default a lightweight component is treated as an opaque rectangle for the purposes of the Heavyweight/Lightweight Components Mixing feature. This method enables developers to set an arbitrary shape to be cut out from heavyweight components positioned underneath the lightweight component in the z-order.

        Theshape argument may have the following values:

        • null - reverts the default cutout shape (the rectangle equal to the component'sgetBounds())
        • empty-shape - does not cut out anything from heavyweight components. This makes this lightweight component effectively transparent. Note that descendants of the lightweight component still affect the shapes of heavyweight components. An example of anempty-shape isnew Rectangle().
        • non-empty-shape - the given shape will be cut out from heavyweight components.

        The most common example when the 'mixing-cutout' shape is needed is a glass pane component. TheJRootPane#setGlassPane() method automatically sets theempty-shape as the 'mixing-cutout' shape for the given glass pane component. If a developer needs some other 'mixing-cutout' shape for the glass pane (which is rare), this must be changed manually after installing the glass pane to the root pane.

        Parameters:
        shape - the new 'mixing-cutout' shape
        Since:
        9