java.lang.Object
javax.swing.PopupFactory
public class PopupFactory extends Object
PopupFactory
, as the name implies, is used to obtain
instances of Popup
s. Popup
s are used to
display a Component
above all other Component
s
in a particular containment hierarchy. The general contract is that
once you have obtained a Popup
from a
PopupFactory
, you must invoke hide
on the
Popup
. The typical usage is:
PopupFactory factory = PopupFactory.getSharedInstance(); Popup popup = factory.getPopup(owner, contents, x, y); popup.show(); ... popup.hide();
- Since:
- 1.4
- See Also:
Popup
-
Constructor Summary
Constructors Constructor Description PopupFactory()
-
Method Summary
Modifier and Type Method Description Popup
getPopup(Component owner, Component contents, int x, int y)
Creates aPopup
for the Componentowner
containing the Componentcontents
.protected Popup
getPopup(Component owner, Component contents, int x, int y, boolean isHeavyWeightPopup)
Creates aPopup
for the Componentowner
containing the Componentcontents
.static PopupFactory
getSharedInstance()
Returns the sharedPopupFactory
which can be used to obtainPopup
s.static void
setSharedInstance(PopupFactory factory)
Sets thePopupFactory
that will be used to obtainPopup
s.
-
Constructor Details
-
PopupFactory
public PopupFactory()
-
-
Method Details
-
setSharedInstance
Sets thePopupFactory
that will be used to obtainPopup
s. This will throw anIllegalArgumentException
iffactory
is null.- Parameters:
factory
- Shared PopupFactory- Throws:
IllegalArgumentException
- iffactory
is null- See Also:
getPopup(java.awt.Component, java.awt.Component, int, int)
-
getSharedInstance
Returns the sharedPopupFactory
which can be used to obtainPopup
s.- Returns:
- Shared PopupFactory
-
getPopup
public Popup getPopup(Component owner, Component contents, int x, int y) throws IllegalArgumentExceptionCreates aPopup
for the Componentowner
containing the Componentcontents
.owner
is used to determine whichWindow
the newPopup
will parent theComponent
thePopup
creates to. A nullowner
implies there is no valid parent.x
andy
specify the preferred initial location to place thePopup
at. Based on screen size, or other paramaters, thePopup
may not display atx
andy
.- Parameters:
owner
- Component mouse coordinates are relative to, may be nullcontents
- Contents of the Popupx
- Initial x screen coordinatey
- Initial y screen coordinate- Returns:
- Popup containing Contents
- Throws:
IllegalArgumentException
- if contents is null
-
getPopup
protected Popup getPopup(Component owner, Component contents, int x, int y, boolean isHeavyWeightPopup) throws IllegalArgumentExceptionCreates aPopup
for the Componentowner
containing the Componentcontents
. The window containing the componentowner
will be used as the parent window. A nullowner
implies there is no valid parent.x
andy
specify the preferred initial location to place thePopup
at. Based on screen size, or other parameters, thePopup
may not display atx
andy
.isHeavyWeightPopup
specifies if thePopup
will be heavyweight. Passingtrue
will force thePopup
type to be heavyweight, otherwisePopup
type will be selected byPopup
factory. LightweightPopup
windows are more efficient than heavyweight (native peer) windows, but lightweight and heavyweight components do not mix well in a GUI. This method is intended to be used only by PopupFactory sub-classes.- Parameters:
owner
- Component mouse coordinates are relative to, may be nullcontents
- Contents of the Popupx
- Initial x screen coordinatey
- Initial y screen coordinateisHeavyWeightPopup
- true if Popup should be heavy weight, otherwise popup type will be selected by popup factory.- Returns:
- Popup containing Contents
- Throws:
IllegalArgumentException
- if contents is null
-