javax.swing
Class PopupFactory2
java.lang.Object
javax.swing.PopupFactory2
public class PopupFactory2
- extends java.lang.Object
Copied from javax.swing.PopupFactory, due to bugs in the original implementation.
The first bug is fixed by one line in overlappedByOwnedWindow(), also mentioned in
http://developer.java.sun.com/developer/bugParade/bugs/4809958.html
The bug I noticed is that when I dispose a particular JDialog, it doesn't get truly removed -- just hidden, and then in overlappedByOwnedWindows(), we find that it doesn't check to see if a window is visible or not.
The other problem is that for some reason, HeavyWeightPopup is not showing quite right -- they weren't
http://developer.java.sun.com/developer/bugParade/bugs/4909116.html
In order to fix all of these bugs temporarily, we have rewritten it and included it here as PopupFactory2. We hope to go back to the PopupFactory after these bugs are fixed (some partially fixed in Java 1.5).
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
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
PopupFactory2
public PopupFactory2()
setSharedInstance
public static void setSharedInstance(PopupFactory2 factory)
- Sets the
AppContext
specific PopupFactory
.
This will throw an IllegalArgumentException
if
factory
is null.
- Parameters:
factory
- Shared PopupFactory
- Throws:
java.lang.IllegalArgumentException
- if factory
is null
getSharedInstance
public static PopupFactory2 getSharedInstance()
getPopup
public Popup2 getPopup(java.awt.Component owner,
java.awt.Component contents,
int x,
int y)
throws java.lang.IllegalArgumentException
- 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 nullcontents
- Contents of the Popupx
- Initial x screen coordinatey
- Initial y screen coordinate
- Returns:
- Popup containing Contents
- Throws:
java.lang.IllegalArgumentException
- if contents is null