java.lang.Object
javax.swing.PopupFactory
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:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionCreates aPopup
for the Componentowner
containing the Componentcontents
.protected Popup
Creates aPopup
for the Componentowner
containing the Componentcontents
.static PopupFactory
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()Constructs aPopupFactory
.
-
-
Method Details
-
getPopup
public Popup getPopup(Component owner, Component contents, int x, int y) throws IllegalArgumentException Creates 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 parameters, 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 IllegalArgumentException Creates 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