javax.swing
Class Popup

java.lang.Object
  extended byjavax.swing.Popup
Direct Known Subclasses:
PopupFactory.ContainerPopup, PopupFactory.HeavyWeightPopup

public class Popup
extends Object

Popups are used to display a Component to the user, typically on top of all the other Components in a particular containment hierarchy. Popups have a very small life cycle. Once you have obtained a Popup, and hidden it (invoked the hide method), you should no longer invoke any methods on it. This allows the PopupFactory to cache Popups for later use.

The general contract is that if you need to change the size of the Component, or location of the Popup, you should obtain a new Popup.

Popup does not descend from Component, rather implementations of Popup are responsible for creating and maintaining their own Components to render the requested Component to the user.

You typically do not explicitly create an instance of Popup, instead obtain one from a PopupFactory.

Since:
1.4
See Also:
PopupFactory

Nested Class Summary
(package private) static class Popup.DefaultFrame
          Used if no valid Window ancestor of the supplied owner is found.
(package private) static class Popup.HeavyWeightWindow
          Component used to house window.
 
Field Summary
private  Component component
          The Component representing the Popup.
 
Constructor Summary
protected Popup()
          Creates a Popup.
protected Popup(Component owner, Component contents, int x, int y)
          Creates a Popup for the Component owner containing the Component contents.
 
Method Summary
(package private)  Component createComponent(Component owner)
          Creates the Component to use as the parent of the Popup.
(package private)  void dispose()
          Frees any resources the Popup may be holding onto.
(package private)  Component getComponent()
          Returns the Component returned from createComponent that will hold the Popup.
private  Window getParentWindow(Component owner)
          Returns the Window to use as the parent of the Window created for the Popup.
 void hide()
          Hides and disposes of the Popup.
(package private)  void pack()
          Causes the Popup to be sized to fit the preferred size of the Component it contains.
(package private)  void reset(Component owner, Component contents, int ownerX, int ownerY)
          Resets the Popup to an initial state.
 void show()
          Makes the Popup visible.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

component

private Component component
The Component representing the Popup.

Constructor Detail

Popup

protected Popup(Component owner,
                Component contents,
                int x,
                int y)
Creates a Popup for the Component owner containing the Component contents. owner is used to determine which Window the new Popup will parent the Component the Popup creates to. A null owner implies there is no valid parent. x and y specify the preferred initial location to place the Popup at. Based on screen size, or other paramaters, the Popup may not display at x and y.

Parameters:
owner - Component mouse coordinates are relative to, may be null
contents - Contents of the Popup
x - Initial x screen coordinate
y - Initial y screen coordinate
Throws:
IllegalArgumentException - if contents is null

Popup

protected Popup()
Creates a Popup. This is provided for subclasses.

Method Detail

show

public void show()
Makes the Popup visible. If the Popup is currently visible, this has no effect.


hide

public void hide()
Hides and disposes of the Popup. Once a Popup has been disposed you should no longer invoke methods on it. A disposed Popup may be reclaimed and later used based on the PopupFactory. As such, if you invoke methods on a disposed Popup, indeterminate behavior will result.


dispose

void dispose()
Frees any resources the Popup may be holding onto.


reset

void reset(Component owner,
           Component contents,
           int ownerX,
           int ownerY)
Resets the Popup to an initial state.


pack

void pack()
Causes the Popup to be sized to fit the preferred size of the Component it contains.


getParentWindow

private Window getParentWindow(Component owner)
Returns the Window to use as the parent of the Window created for the Popup. This creates a new Frame each time it is invoked. Subclasses that wish to support a different Window parent should override this.


createComponent

Component createComponent(Component owner)
Creates the Component to use as the parent of the Popup. The default implementation creates a Window, subclasses should override.


getComponent

Component getComponent()
Returns the Component returned from createComponent that will hold the Popup.