< prev index next >

src/java.desktop/share/classes/javax/swing/Popup.java

Print this page

        

*** 29,57 **** import sun.awt.ModalExclude; import sun.awt.SunToolkit; /** ! * Popups are used to display a <code>Component</code> to the user, typically ! * on top of all the other <code>Component</code>s in a particular containment ! * hierarchy. <code>Popup</code>s have a very small life cycle. Once you ! * have obtained a <code>Popup</code>, and hidden it (invoked the ! * <code>hide</code> method), you should no longer ! * invoke any methods on it. This allows the <code>PopupFactory</code> to cache ! * <code>Popup</code>s for later use. * <p> * The general contract is that if you need to change the size of the ! * <code>Component</code>, or location of the <code>Popup</code>, you should ! * obtain a new <code>Popup</code>. * <p> ! * <code>Popup</code> does not descend from <code>Component</code>, rather ! * implementations of <code>Popup</code> are responsible for creating ! * and maintaining their own <code>Component</code>s to render the ! * requested <code>Component</code> to the user. * <p> ! * You typically do not explicitly create an instance of <code>Popup</code>, ! * instead obtain one from a <code>PopupFactory</code>. * * @see PopupFactory * * @since 1.4 */ --- 29,57 ---- import sun.awt.ModalExclude; import sun.awt.SunToolkit; /** ! * Popups are used to display a {@code Component} to the user, typically ! * on top of all the other {@code Component}s in a particular containment ! * hierarchy. {@code Popup}s have a very small life cycle. Once you ! * have obtained a {@code Popup}, and hidden it (invoked the ! * {@code hide} method), you should no longer ! * invoke any methods on it. This allows the {@code PopupFactory} to cache ! * {@code Popup}s for later use. * <p> * The general contract is that if you need to change the size of the ! * {@code Component}, or location of the {@code Popup}, you should ! * obtain a new {@code Popup}. * <p> ! * {@code Popup} does not descend from {@code Component}, rather ! * implementations of {@code Popup} are responsible for creating ! * and maintaining their own {@code Component}s to render the ! * requested {@code Component} to the user. * <p> ! * You typically do not explicitly create an instance of {@code Popup}, ! * instead obtain one from a {@code PopupFactory}. * * @see PopupFactory * * @since 1.4 */
*** 60,80 **** * The Component representing the Popup. */ private Component component; /** ! * Creates a <code>Popup</code> for the Component <code>owner</code> ! * containing the Component <code>contents</code>. <code>owner</code> ! * is used to determine which <code>Window</code> the new ! * <code>Popup</code> will parent the <code>Component</code> the ! * <code>Popup</code> creates to. ! * A null <code>owner</code> implies there is no valid parent. ! * <code>x</code> and ! * <code>y</code> specify the preferred initial location to place ! * the <code>Popup</code> at. Based on screen size, or other paramaters, ! * the <code>Popup</code> may not display at <code>x</code> and ! * <code>y</code>. * * @param owner Component mouse coordinates are relative to, may be null * @param contents Contents of the Popup * @param x Initial x screen coordinate * @param y Initial y screen coordinate --- 60,80 ---- * The Component representing the Popup. */ private Component component; /** ! * Creates a {@code Popup} for the Component {@code owner} ! * containing the Component {@code contents}. {@code owner} ! * is used to determine which {@code Window} the new ! * {@code Popup} will parent the {@code Component} the ! * {@code Popup} creates to. ! * A null {@code owner} implies there is no valid parent. ! * {@code x} and ! * {@code y} specify the preferred initial location to place ! * the {@code Popup} at. Based on screen size, or other paramaters, ! * the {@code Popup} may not display at {@code x} and ! * {@code y}. * * @param owner Component mouse coordinates are relative to, may be null * @param contents Contents of the Popup * @param x Initial x screen coordinate * @param y Initial y screen coordinate
*** 87,103 **** } reset(owner, contents, x, y); } /** ! * Creates a <code>Popup</code>. This is provided for subclasses. */ protected Popup() { } /** ! * Makes the <code>Popup</code> visible. If the <code>Popup</code> is * currently visible, this has no effect. */ @SuppressWarnings("deprecation") public void show() { --- 87,103 ---- } reset(owner, contents, x, y); } /** ! * Creates a {@code Popup}. This is provided for subclasses. */ protected Popup() { } /** ! * Makes the {@code Popup} visible. If the {@code Popup} is * currently visible, this has no effect. */ @SuppressWarnings("deprecation") public void show() {
*** 107,121 **** component.show(); } } /** ! * Hides and disposes of the <code>Popup</code>. Once a <code>Popup</code> * has been disposed you should no longer invoke methods on it. A ! * <code>dispose</code>d <code>Popup</code> may be reclaimed and later used ! * based on the <code>PopupFactory</code>. As such, if you invoke methods ! * on a <code>disposed</code> <code>Popup</code>, indeterminate * behavior will result. */ @SuppressWarnings("deprecation") public void hide() { --- 107,121 ---- component.show(); } } /** ! * Hides and disposes of the {@code Popup}. Once a {@code Popup} * has been disposed you should no longer invoke methods on it. A ! * {@code dispose}d {@code Popup} may be reclaimed and later used ! * based on the {@code PopupFactory}. As such, if you invoke methods ! * on a {@code disposed Popup}, indeterminate * behavior will result. */ @SuppressWarnings("deprecation") public void hide() {
*** 127,137 **** } dispose(); } /** ! * Frees any resources the <code>Popup</code> may be holding onto. */ void dispose() { Component component = getComponent(); Window window = SwingUtilities.getWindowAncestor(component); --- 127,137 ---- } dispose(); } /** ! * Frees any resources the {@code Popup} may be holding onto. */ void dispose() { Component component = getComponent(); Window window = SwingUtilities.getWindowAncestor(component);
*** 144,154 **** window.dispose(); } } /** ! * Resets the <code>Popup</code> to an initial state. */ void reset(Component owner, Component contents, int ownerX, int ownerY) { if (getComponent() == null) { component = createComponent(owner); } --- 144,154 ---- window.dispose(); } } /** ! * Resets the {@code Popup} to an initial state. */ void reset(Component owner, Component contents, int ownerX, int ownerY) { if (getComponent() == null) { component = createComponent(owner); }
*** 170,194 **** } } /** ! * Causes the <code>Popup</code> to be sized to fit the preferred size ! * of the <code>Component</code> it contains. */ void pack() { Component component = getComponent(); if (component instanceof Window) { ((Window)component).pack(); } } /** ! * Returns the <code>Window</code> to use as the parent of the ! * <code>Window</code> created for the <code>Popup</code>. This creates ! * a new <code>DefaultFrame</code>, if necessary. */ private Window getParentWindow(Component owner) { Window window = null; if (owner instanceof Window) { --- 170,194 ---- } } /** ! * Causes the {@code Popup} to be sized to fit the preferred size ! * of the {@code Component} it contains. */ void pack() { Component component = getComponent(); if (component instanceof Window) { ((Window)component).pack(); } } /** ! * Returns the {@code Window} to use as the parent of the ! * {@code Window} created for the {@code Popup}. This creates ! * a new {@code DefaultFrame}, if necessary. */ private Window getParentWindow(Component owner) { Window window = null; if (owner instanceof Window) {
*** 202,213 **** } return window; } /** ! * Creates the Component to use as the parent of the <code>Popup</code>. ! * The default implementation creates a <code>Window</code>, subclasses * should override. */ Component createComponent(Component owner) { if (GraphicsEnvironment.isHeadless()) { // Generally not useful, bail. --- 202,213 ---- } return window; } /** ! * Creates the Component to use as the parent of the {@code Popup}. ! * The default implementation creates a {@code Window}, subclasses * should override. */ Component createComponent(Component owner) { if (GraphicsEnvironment.isHeadless()) { // Generally not useful, bail.
*** 215,226 **** } return new HeavyWeightWindow(getParentWindow(owner)); } /** ! * Returns the <code>Component</code> returned from ! * <code>createComponent</code> that will hold the <code>Popup</code>. */ Component getComponent() { return component; } --- 215,226 ---- } return new HeavyWeightWindow(getParentWindow(owner)); } /** ! * Returns the {@code Component} returned from ! * {@code createComponent} that will hold the {@code Popup}. */ Component getComponent() { return component; }
< prev index next >