JIDE 3.5.15

com.jidesoft.popup
Class JidePopup

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by com.jidesoft.popup.JidePopup
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, WindowConstants
Direct Known Subclasses:
Alert, DockableFramePopup, Searchable.SearchPopup

public class JidePopup
extends JComponent
implements Accessible, WindowConstants

JidePopup is a popup window which can be resized, dragged and autohide if time out.

JidePopup uses JWindow as the container in order to show itself. By default, JidePopup is not focusable which means no component in the JidePopup will get focus. For example, if you put a JTextField in JidePopup and the JTextField becomes not editable, this is a result of non-focusable JWindow. So if you want components in JidePopup to be able to receive focus, you can either call setFocusable(true) or you can call setDefaultFocusComponent(java.awt.Component) to set a child component as the default focus component.

See Also:
Serialized Form

Nested Class Summary
protected  class JidePopup.AccessiblePopup
          This class implements accessibility support for the Popup class.
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
protected  Component _actualOwner
           
protected  Point _actualOwnerLocation
           
protected  boolean _detached
           
protected  Insets _insets
           
protected  ResizablePanel _panel
           
protected  Dimension _previousSize
           
protected  ResizableSupport _resizableSupport
           
protected  ResizableWindow _window
           
static String ATTACHABLE_PROPERTY
          Constrained property name indicating that the popup is attachable.
static String CLIENT_PROPERTY_POPUP_ACTUAL_OWNER
          If the popup shows a dialog and you don't want the popup to be hidden when the dialog is shown, you can use this special client property to do it.
static String CLIENT_PROPERTY_POPUP_TYPE
           
static String CLIENT_PROPERTY_VALUE_POPUP_TYPE_COMBOBOX
           
static String CLIENT_PROPERTY_WINDOW_OPACITY
          You can set client property to JidePopup control the window opacity (only when heavyweight popup is in use).
static String CLIENT_PROPERTY_WINDOW_OPAQUE
          You can set client property to JidePopup control the window opaque (only when heavyweight popup is in use) The value of the client property should be a boolean.
static String CLIENT_PROPERTY_WINDOW_SHAPE
          You can set client property to JidePopup control the window shape (only when heavyweight popup is in use) The value of the client property should be a Shape.
static String CONTENT_PANE_PROPERTY
          Bound property name.
static String DETACHED_PROPERTY
          Bound property name for if the popup is detached.
 int DISTANCE_TO_SCREEN_BORDER
          The distance between alert and screen border.
static int DO_NOTHING_ON_MOVED
          Hides the popup when the owner is moved.
static String GLASS_PANE_PROPERTY
          Bound property name.
static int HEAVY_WEIGHT_POPUP
           
static int HIDE_ON_MOVED
          Hides the popup when the owner is moved.
static String LAYERED_PANE_PROPERTY
          Bound property name.
static int LIGHT_WEIGHT_POPUP
          Key used to indicate a light weight popup should be used.
static String MENU_BAR_PROPERTY
          Bound property name.
static String MOVABLE_PROPERTY
          Bound property name for gripper.
static int MOVE_ON_MOVED
          Moves the popup along with owner when the owner is moved.
static String OWNER_PROPERTY
          Bound property name for owner.
static String PROPERTY_GRIPPER_LOCATION
           
static String RESIZABLE_PROPERTY
          Bound property name for resizable.
static String ROOT_PANE_PROPERTY
          Bound property name.
static String TRANSIENT_PROPERTY
           
static String VISIBLE_PROPERTY
          Bound property name.
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
JidePopup()
          Creates a Popup.
 
Method Summary
 void addExcludedComponent(Component component)
          Adds a component as excluded component.
protected  void addImpl(Component comp, Object constraints, int index)
          Ensures that, by default, children cannot be added directly to this component.
 void addPopupMenuListener(PopupMenuListener l)
          Adds a PopupMenu listener which will listen to notification messages from the popup portion of the combo box.
protected  void ancestorHidden()
          This method will process component hidden event for the popup's ancestor.
protected  void ancestorMoved()
          This method will process component moved event for the popup's ancestor.
protected  void beginDragging(JComponent f, int mouseX, int mouseY, double relativeX, double relativeY)
           
protected  void contentResized()
           
protected  ResizableWindow createHeavyweightPopupContainer(Component owner)
           
protected  ResizablePanel createLightweightPopupContainer(Component owner)
          Creates lightweight container for the popup.
protected  JRootPane createRootPane()
          Called by the constructor to set up the JRootPane.
protected  void createWindow(Component owner, int x, int y)
           
protected  void drag(JComponent f, int newX, int newY, int mouseModifiers)
           
protected  void endDragging()
           
 void firePopupMenuCanceled()
          Notifies PopupMenuListeners that the popup portion of the combo box has been canceled.
 void firePopupMenuWillBecomeInvisible()
          Notifies PopupMenuListeners that the popup portion of the combo box has become invisible.
 void firePopupMenuWillBecomeVisible()
          Notifies PopupMenuListeners that the popup portion of the combo box will become visible.
 AccessibleContext getAccessibleContext()
          Gets the AccessibleContext associated with this Popup.
protected  Component getActualOwner()
          Gets the actual owner.
protected  Rectangle getAdjustedRectangle(int x, int y, Component owner)
          Gets the rectangle adjusted by preferred size and the monitor device settings.
 Insets getBackToOriginalInsets()
          Get the insets so that when the JidePopup is dragged back to this area, the JidePopup will jump to its original position automatically.
 Container getContentPane()
          Returns the content pane for this Popup.
 Component getDefaultFocusComponent()
          Gets the default focus component.
 int getDefaultMoveOperation()
          Gets the default operation when the owner is moved.
protected  Rectangle getDisplayScreenBounds(Component owner)
           
protected  Point getDisplayStartLocation(Rectangle screenDim, Dimension size, int location)
          Get the display start location of the popup.
protected static Frame getFrame(Component c)
           
 Component getGlassPane()
          Returns the glass pane for this popup.
 int getGripperLocation()
           
 JMenuBar getJMenuBar()
          Returns the current JMenuBar for this Popup, or null if no menu bar has been set.
 JLayeredPane getLayeredPane()
          Returns the layered pane for this popup.
 Component getOwner()
          Gets the owner of the popup.
 Border getPopupBorder()
          Gets the popup border set by setPopupBorder(javax.swing.border.Border).
 Rectangle getPopupBounds()
           
protected  Point getPopupLocation(Point point, Dimension size, Component owner)
          Calculates the popup location.
 PopupMenuListener[] getPopupMenuListeners()
          Returns an array of all the PopupMenuListeners added to this JComboBox with addPopupMenuListener().
 int getPopupType()
           
protected  JComponent getRealParent(RootPaneContainer rootPaneContainer)
           
 JRootPane getRootPane()
          Returns the rootPane object for this popup.
 int getTimeout()
          Gets the time out value, in milliseconds.
static Component getTopLevelAncestor(Component component)
           
 PopupUI getUI()
          Returns the look-and-feel object that renders this component.
 String getUIClassID()
          Returns the name of the look-and-feel class that renders this component.
protected  void handleComponentEvent(ComponentEvent e)
          This method will process component event.
protected  void handleMouseDragged(MouseEvent e)
           
protected  void handleMouseEntered(MouseEvent e)
           
protected  void handleMouseExited(MouseEvent e)
           
protected  void handleMousePressed(MouseEvent e)
           
protected  void handleMouseReleased(MouseEvent e)
           
protected  void handleWindowEvent(WindowEvent e)
           
 void hidePopup()
           
 void hidePopup(boolean cancelled)
           
 void hidePopupImmediately()
          Hides the popup immediately (compare to hidePopup() could use animation to hide the popup).
 void hidePopupImmediately(boolean cancelled)
           
protected  void installBorder()
           
protected  void installListeners()
           
protected  void internalShowPopup(int x, int y)
           
protected  void internalShowPopup(int x, int y, Component owner)
           
 boolean isAttachable()
          Checks if the popup is attachable.
 boolean isClickOnPopup(MouseEvent e)
          Checks if the mouse event is on the popup.
 boolean isDetached()
          Checks if the popup is detached.
protected  boolean isDragging()
           
 boolean isExcludedComponent(Component component)
          Checks if a component is an excluded component.
 boolean isKeepPreviousSize()
          Get the flag indicating if JidePopup should keep the size last time it was popped up.
 boolean isMovable()
          Checks if the popup is movable.
static boolean isPopupAncestorOf(JidePopup popup, Component c)
           
 boolean isPopupVisible()
           
 boolean isResizable()
          Checks if the popup is resizable.
 boolean isReturnFocusToOwner()
          gets the flag.
protected  boolean isRootPaneCheckingEnabled()
          Returns whether calls to add and setLayout cause an exception to be thrown.
 boolean isTransient()
          Checks if the popup is transient.
protected  void movePopup()
           
 void packPopup()
          Packs the popup.
 void remove(Component comp)
          Removes the specified component from this container.
 void removeAllExcludedComponents()
          Removes all excluded components that were added before.
 void removeExcludedComponent(Component component)
          Removes a component from the excluded component list.
 void removePopupMenuListener(PopupMenuListener l)
          Removes a PopupMenuListener.
 void setAttachable(boolean attachable)
          Sets the attachable option.
 void setBackToOriginalInsets(Insets backToOriginalInsets)
          Set the insets so that when the JidePopup is dragged back to this area, the JidePopup will jump to its original position automatically.
 void setContentPane(Container c)
          Sets this Popup's contentPane property.
 void setDefaultFocusComponent(Component defaultFocusComponent)
          Sets the default focus component.
 void setDefaultMoveOperation(int defaultMoveOperation)
          Sets the default operation when the owner is moved.
 void setDetached(boolean detached)
          Changes the popup's detached mode.
 void setDisplayStartLocation(Point startLocation)
          Set the display start location of the popup.
 void setGlassPane(Component glass)
          Sets this Popup's glassPane property.
 void setGripperLocation(int gripperLocation)
          Sets the gripper location.
 void setJMenuBar(JMenuBar m)
          Sets the menuBar property for this Popup.
 void setKeepPreviousSize(boolean keepPreviousSize)
          Set the flag indicating if JidePopup should keep the size last time it was popped up.
 void setLayeredPane(JLayeredPane layered)
          Sets this Popup's layeredPane property.
 void setLayout(LayoutManager manager)
          Ensures that, by default, the layout of this component cannot be set.
 void setMovable(boolean movable)
          Sets the movable attribute.
 void setOwner(Component owner)
          Sets the owner of the popup.
 void setPopupBorder(Border popupBorder)
          Sets the border for this popup.
 void setPopupType(int popupType)
           
 void setPreferredPopupSize(Dimension size)
          Sets the preferred popup size.
 void setResizable(boolean resizable)
          Sets the resizable option.
 void setReturnFocusToOwner(boolean returnFocusToOwner)
          Sets the flag to return focus to the owner when the popup is hidden.
protected  void setRootPane(JRootPane root)
          Sets the rootPane property for this Popup.
protected  void setRootPaneCheckingEnabled(boolean enabled)
          Determines whether calls to add and setLayout cause an exception to be thrown.
 void setTimeout(int timeout)
          Sets the time out value, in milliseconds.
 void setTransient(boolean isTransient)
          Sets the transient attribute.
 void setUI(PopupUI ui)
          Sets the UI delegate for this Popup.
 void setupResizeCorner(int corner)
          Setup Resizable's ResizeCorner.
 void setVisible(boolean visible)
          Makes the component visible or invisible.
protected  boolean shouldAWTEventListenerBeUsed()
          Returns whether the AWTEventEventListener should be used to handle event processing
 void showPopup()
          Shows the popup.
 void showPopup(Component owner)
          Shows the popup.
 void showPopup(Insets insets)
          Shows the popup.
 void showPopup(Insets insets, Component owner)
          Shows the popup.
 void showPopup(int location)
          Shows the popup at the specified location relative to the screen.
 void showPopup(int location, Component owner)
          Shows the popup at the specified location relative to the owner.
 void showPopup(int x, int y)
          Shows the popup at the specified x and y coordinates.
 void showPopup(int x, int y, Component owner)
          Shows the popup at the specified x and y coordinates.
protected  void showPopupImmediately()
           
 void updateUI()
          Notification from the UIManager that the look and feel has changed.
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

CLIENT_PROPERTY_WINDOW_OPACITY

public static final String CLIENT_PROPERTY_WINDOW_OPACITY
You can set client property to JidePopup control the window opacity (only when heavyweight popup is in use). The value of the client property should be a float.

See Also:
Constant Field Values

CLIENT_PROPERTY_WINDOW_OPAQUE

public static final String CLIENT_PROPERTY_WINDOW_OPAQUE
You can set client property to JidePopup control the window opaque (only when heavyweight popup is in use) The value of the client property should be a boolean.

See Also:
Constant Field Values

CLIENT_PROPERTY_WINDOW_SHAPE

public static final String CLIENT_PROPERTY_WINDOW_SHAPE
You can set client property to JidePopup control the window shape (only when heavyweight popup is in use) The value of the client property should be a Shape.

See Also:
Constant Field Values

CONTENT_PANE_PROPERTY

public static final String CONTENT_PANE_PROPERTY
Bound property name.

See Also:
Constant Field Values

MENU_BAR_PROPERTY

public static final String MENU_BAR_PROPERTY
Bound property name.

See Also:
Constant Field Values

LAYERED_PANE_PROPERTY

public static final String LAYERED_PANE_PROPERTY
Bound property name.

See Also:
Constant Field Values

ROOT_PANE_PROPERTY

public static final String ROOT_PANE_PROPERTY
Bound property name.

See Also:
Constant Field Values

GLASS_PANE_PROPERTY

public static final String GLASS_PANE_PROPERTY
Bound property name.

See Also:
Constant Field Values

VISIBLE_PROPERTY

public static final String VISIBLE_PROPERTY
Bound property name.

See Also:
Constant Field Values

TRANSIENT_PROPERTY

public static final String TRANSIENT_PROPERTY
See Also:
Constant Field Values

ATTACHABLE_PROPERTY

public static final String ATTACHABLE_PROPERTY
Constrained property name indicating that the popup is attachable.

See Also:
Constant Field Values

MOVABLE_PROPERTY

public static final String MOVABLE_PROPERTY
Bound property name for gripper.

See Also:
Constant Field Values

DETACHED_PROPERTY

public static final String DETACHED_PROPERTY
Bound property name for if the popup is detached.

See Also:
Constant Field Values

CLIENT_PROPERTY_POPUP_TYPE

public static final String CLIENT_PROPERTY_POPUP_TYPE
See Also:
Constant Field Values

CLIENT_PROPERTY_VALUE_POPUP_TYPE_COMBOBOX

public static final String CLIENT_PROPERTY_VALUE_POPUP_TYPE_COMBOBOX
See Also:
Constant Field Values

_detached

protected boolean _detached

_window

protected ResizableWindow _window

_panel

protected ResizablePanel _panel

_resizableSupport

protected ResizableSupport _resizableSupport

CLIENT_PROPERTY_POPUP_ACTUAL_OWNER

public static final String CLIENT_PROPERTY_POPUP_ACTUAL_OWNER
If the popup shows a dialog and you don't want the popup to be hidden when the dialog is shown, you can use this special client property to do it. Here is the code, assuming the dialog is shown from your popup.
 JComponent c = JideSwingUtilities.getFirstJComponent(dialog);
   if(c != null) {
       c.putClientProperty(JidePopup.CLIENT_PROPERTY_POPUP_ACTUAL_OWNER, component);
   }
 

See Also:
Constant Field Values

RESIZABLE_PROPERTY

public static final String RESIZABLE_PROPERTY
Bound property name for resizable.

See Also:
Constant Field Values

OWNER_PROPERTY

public static final String OWNER_PROPERTY
Bound property name for owner.

See Also:
Constant Field Values

DO_NOTHING_ON_MOVED

public static final int DO_NOTHING_ON_MOVED
Hides the popup when the owner is moved.

See Also:
Constant Field Values

HIDE_ON_MOVED

public static final int HIDE_ON_MOVED
Hides the popup when the owner is moved.

See Also:
Constant Field Values

MOVE_ON_MOVED

public static final int MOVE_ON_MOVED
Moves the popup along with owner when the owner is moved.

See Also:
Constant Field Values

DISTANCE_TO_SCREEN_BORDER

public int DISTANCE_TO_SCREEN_BORDER
The distance between alert and screen border.


PROPERTY_GRIPPER_LOCATION

public static final String PROPERTY_GRIPPER_LOCATION
See Also:
Constant Field Values

_previousSize

protected Dimension _previousSize

_actualOwner

protected Component _actualOwner

_actualOwnerLocation

protected Point _actualOwnerLocation

LIGHT_WEIGHT_POPUP

public static final int LIGHT_WEIGHT_POPUP
Key used to indicate a light weight popup should be used.

See Also:
Constant Field Values

HEAVY_WEIGHT_POPUP

public static final int HEAVY_WEIGHT_POPUP
See Also:
Constant Field Values

_insets

protected Insets _insets
Constructor Detail

JidePopup

public JidePopup()
Creates a Popup.

Method Detail

createRootPane

protected JRootPane createRootPane()
Called by the constructor to set up the JRootPane.

Returns:
a new JRootPane
See Also:
JRootPane

getUI

public PopupUI getUI()
Returns the look-and-feel object that renders this component.

Returns:
the PopupUI object that renders this component

setUI

public void setUI(PopupUI ui)
Sets the UI delegate for this Popup.

Parameters:
ui - the UI delegate

updateUI

public void updateUI()
Notification from the UIManager that the look and feel has changed. Replaces the current UI object with the latest version from the UIManager.

Overrides:
updateUI in class JComponent
See Also:
JComponent.updateUI()

getUIClassID

public String getUIClassID()
Returns the name of the look-and-feel class that renders this component.

Overrides:
getUIClassID in class JComponent
Returns:
the string "PopupUI"
See Also:
JComponent.getUIClassID(), UIDefaults.getUI(javax.swing.JComponent)

isRootPaneCheckingEnabled

protected boolean isRootPaneCheckingEnabled()
Returns whether calls to add and setLayout cause an exception to be thrown.

Returns:
true if add and setLayout are checked
See Also:
addImpl(java.awt.Component, java.lang.Object, int), setLayout(java.awt.LayoutManager), setRootPaneCheckingEnabled(boolean)

setRootPaneCheckingEnabled

protected void setRootPaneCheckingEnabled(boolean enabled)
Determines whether calls to add and setLayout cause an exception to be thrown.

Parameters:
enabled - a boolean value, true if checking is to be enabled, which cause the exceptions to be thrown
See Also:
addImpl(java.awt.Component, java.lang.Object, int), setLayout(java.awt.LayoutManager), isRootPaneCheckingEnabled()

addImpl

protected void addImpl(Component comp,
                       Object constraints,
                       int index)
Ensures that, by default, children cannot be added directly to this component. Instead, children must be added to its content pane. For example:
 thisComponent.getContentPane().add(child)
 
An attempt to add to directly to this component will cause a runtime exception to be thrown. Subclasses can disable this behavior.

Overrides:
addImpl in class Container
Parameters:
comp - the Component to be added
constraints - the object containing the constraints, if any
index - the index
Throws:
Error - if called with isRootPaneChecking true
See Also:
setRootPaneCheckingEnabled(boolean)

remove

public void remove(Component comp)
Removes the specified component from this container.

Overrides:
remove in class Container
Parameters:
comp - the component to be removed
See Also:
Container.add(java.awt.Component)

setLayout

public void setLayout(LayoutManager manager)
Ensures that, by default, the layout of this component cannot be set. Instead, the layout of its content pane should be set. For example:
 thisComponent.getContentPane().setLayout(new GridLayout(1,2))
 
An attempt to set the layout of this component will cause an runtime exception to be thrown. Subclasses can disable this behavior.

Overrides:
setLayout in class Container
Parameters:
manager - the LayoutManager
Throws:
Error - if called with isRootPaneChecking true
See Also:
setRootPaneCheckingEnabled(boolean)

getJMenuBar

public JMenuBar getJMenuBar()
Returns the current JMenuBar for this Popup, or null if no menu bar has been set.

Returns:
the JMenuBar used by this Popup.
See Also:
setJMenuBar(javax.swing.JMenuBar)

setJMenuBar

public void setJMenuBar(JMenuBar m)
Sets the menuBar property for this Popup.

Parameters:
m - the JMenuBar to use in this Popup.
See Also:
getJMenuBar()

getContentPane

public Container getContentPane()
Returns the content pane for this Popup.

Returns:
the content pane

setContentPane

public void setContentPane(Container c)
Sets this Popup's contentPane property.

Parameters:
c - the content pane for this popup.
Throws:
IllegalComponentStateException - (a runtime exception) if the content pane parameter is null
See Also:
RootPaneContainer.getContentPane()

getLayeredPane

public JLayeredPane getLayeredPane()
Returns the layered pane for this popup.

Returns:
a JLayeredPane object
See Also:
RootPaneContainer.setLayeredPane(javax.swing.JLayeredPane), RootPaneContainer.getLayeredPane()

setLayeredPane

public void setLayeredPane(JLayeredPane layered)
Sets this Popup's layeredPane property.

Parameters:
layered - the JLayeredPane for this popup
Throws:
IllegalComponentStateException - (a runtime exception) if the layered pane parameter is null
See Also:
RootPaneContainer.setLayeredPane(javax.swing.JLayeredPane)

getGlassPane

public Component getGlassPane()
Returns the glass pane for this popup.

Returns:
the glass pane
See Also:
RootPaneContainer.setGlassPane(java.awt.Component)

setGlassPane

public void setGlassPane(Component glass)
Sets this Popup's glassPane property.

Parameters:
glass - the glass pane for this popup
See Also:
RootPaneContainer.getGlassPane()

getRootPane

public JRootPane getRootPane()
Returns the rootPane object for this popup.

Overrides:
getRootPane in class JComponent
Returns:
the rootPane property
See Also:
RootPaneContainer.getRootPane()

setRootPane

protected void setRootPane(JRootPane root)
Sets the rootPane property for this Popup. This method is called by the constructor.

Parameters:
root - the new JRootPane object

setVisible

public void setVisible(boolean visible)
Makes the component visible or invisible. Overrides Component.setVisible.

Overrides:
setVisible in class JComponent
Parameters:
visible - true to make the component visible; false to make it invisible

getAccessibleContext

public AccessibleContext getAccessibleContext()
Gets the AccessibleContext associated with this Popup. For popups, the AccessibleContext takes the form of an AccessiblePopup object. A new AccessiblePopup instance is created if necessary.

Specified by:
getAccessibleContext in interface Accessible
Overrides:
getAccessibleContext in class JComponent
Returns:
an AccessiblePopup that serves as the AccessibleContext of this Popup
See Also:
JidePopup.AccessiblePopup

isKeepPreviousSize

public boolean isKeepPreviousSize()
Get the flag indicating if JidePopup should keep the size last time it was popped up.

The default value of this flag is true. If you want the popup to resize based on the changing contents like in IntelliHints, you need set this flag to false.

Returns:
the flag.

setKeepPreviousSize

public void setKeepPreviousSize(boolean keepPreviousSize)
Set the flag indicating if JidePopup should keep the size last time it was popped up.

Parameters:
keepPreviousSize - the flag.

getBackToOriginalInsets

public Insets getBackToOriginalInsets()
Get the insets so that when the JidePopup is dragged back to this area, the JidePopup will jump to its original position automatically.

By default, the value is {10, 10, 10, 10}. You can disable the jump functionality by setting the insets to {0, 0, 0, 0}.

Returns:
the insets.

setBackToOriginalInsets

public void setBackToOriginalInsets(Insets backToOriginalInsets)
Set the insets so that when the JidePopup is dragged back to this area, the JidePopup will jump to its original position automatically.

Parameters:
backToOriginalInsets - the insets

showPopup

public void showPopup()
Shows the popup. By default, it will show right below the owner.


showPopup

public void showPopup(Component owner)
Shows the popup. By default, it will show right below the owner after considering the insets. This call is almost the same as setOwner followed by showPopup() except in this case, the owner is only temporarily used to create the popup. It will not be added to excludedComponent list as setOwner would do.

Parameters:
owner - the popup window's owner; if unspecified, it will default to the RootPaneContainer(Applet) or ContentContainer

showPopup

public void showPopup(Insets insets)
Shows the popup. By default, it will show right below the owner after considering the insets.

Parameters:
insets - the popup's insets RootPaneContainer(Applet) or ContentContainer

showPopup

public void showPopup(Insets insets,
                      Component owner)
Shows the popup. By default, it will show right below the owner after considering the insets. Please note, if the owner is not displayed (isShowing returns false), the popup will not be displayed either.

Parameters:
insets - the popup's insets
owner - the popup window's owner; if unspecified, it will default to the RootPaneContainer(Applet) or ContentContainer

getPopupLocation

protected Point getPopupLocation(Point point,
                                 Dimension size,
                                 Component owner)
Calculates the popup location.

Parameters:
point - owner is top-left coordinate relative to screen.
size - the size of the popup window.
owner - the owner
Returns:
new popup location. By default, it will return the coordinate of the bottom-left corner of owner.

setupResizeCorner

public void setupResizeCorner(int corner)
Setup Resizable's ResizeCorner.

Parameters:
corner - the corner.

getTopLevelAncestor

public static Component getTopLevelAncestor(Component component)

showPopup

public void showPopup(int location)
Shows the popup at the specified location relative to the screen. The valid locations are: The actual location will be based on the main screen bounds. Say if the location is SwingConstants.SOUTH_EAST, the popup will appear at the south west corner of main screen with 10 pixels to the border. The 10 pixel is the default value. You can change it by setting DISTANCE_TO_SCREEN_BORDER.

Parameters:
location - the new location.

showPopup

public void showPopup(int location,
                      Component owner)
Shows the popup at the specified location relative to the owner. The valid locations are: The actual location will be based on the owner's bounds. Say if the location is SwingConstants.SOUTH_EAST, the popup will appear at the south west corner of owner with 10 pixels to the border. The 10 pixel is the default value. You can change it by setting DISTANCE_TO_SCREEN_BORDER.

Parameters:
location - the new location
owner - the popup window's owner; if unspecified, it will default to the RootPaneContainer(Applet) or ContentContainer

setDisplayStartLocation

public void setDisplayStartLocation(Point startLocation)
Set the display start location of the popup.

Parameters:
startLocation - the display start location.
See Also:
getDisplayStartLocation(java.awt.Rectangle, java.awt.Dimension, int)

getDisplayStartLocation

protected Point getDisplayStartLocation(Rectangle screenDim,
                                        Dimension size,
                                        int location)
Get the display start location of the popup. It will automatically calculate a point if the customer didn't invoke setDisplayStartLocation(java.awt.Point) explicitly. It will just return the location if the customer already set it.

Parameters:
screenDim - the dimension of the screen
size - the size of the popup
location - the direction to show the popup
Returns:
the display start location.

getDisplayScreenBounds

protected Rectangle getDisplayScreenBounds(Component owner)

packPopup

public void packPopup()
Packs the popup. Setting size only if it's a light weight popup. Otherwise do pack.


internalShowPopup

protected void internalShowPopup(int x,
                                 int y)

internalShowPopup

protected void internalShowPopup(int x,
                                 int y,
                                 Component owner)

getAdjustedRectangle

protected Rectangle getAdjustedRectangle(int x,
                                         int y,
                                         Component owner)
Gets the rectangle adjusted by preferred size and the monitor device settings. The client property "useAllMonitorDevices" could be registered in any ancestor component of the owner component to take effect.

Parameters:
x - the original x
y - the original y
owner - the owner component
Returns:
the adjusted rectangle according to the preferred size and monitor devie settings.
Since:
3.4.1

createWindow

protected void createWindow(Component owner,
                            int x,
                            int y)

showPopup

public void showPopup(int x,
                      int y)
Shows the popup at the specified x and y coordinates.

Parameters:
x - the x position. It is screen position.
y - the y position. It is screen position.

showPopup

public void showPopup(int x,
                      int y,
                      Component owner)
Shows the popup at the specified x and y coordinates.

Parameters:
x - the x position. It is screen position.
y - the y position. It is screen position.
owner - the popup window's owner; if unspecified, it will default to the RootPaneContainer(Applet) or ContentContainer

getFrame

protected static Frame getFrame(Component c)

createHeavyweightPopupContainer

protected ResizableWindow createHeavyweightPopupContainer(Component owner)
Parameters:
owner - the owner for this popup container. It will be used to find the top level ancestor and use it as the parent for this popup window.
Returns:
a ResizableWindow.

createLightweightPopupContainer

protected ResizablePanel createLightweightPopupContainer(Component owner)
Creates lightweight container for the popup.

Parameters:
owner - the owner for this popup container. This parameter is not used in this method. It was there mainly because the corresponding createHeavyweightPopupContainer(java.awt.Component) has this parameter.
Returns:
a ResizablePanel

installListeners

protected void installListeners()

contentResized

protected void contentResized()

installBorder

protected void installBorder()

showPopupImmediately

protected void showPopupImmediately()

movePopup

protected void movePopup()

endDragging

protected void endDragging()

beginDragging

protected void beginDragging(JComponent f,
                             int mouseX,
                             int mouseY,
                             double relativeX,
                             double relativeY)

isDragging

protected boolean isDragging()

drag

protected void drag(JComponent f,
                    int newX,
                    int newY,
                    int mouseModifiers)

handleMousePressed

protected void handleMousePressed(MouseEvent e)

handleMouseReleased

protected void handleMouseReleased(MouseEvent e)

handleMouseDragged

protected void handleMouseDragged(MouseEvent e)

handleMouseEntered

protected void handleMouseEntered(MouseEvent e)

handleMouseExited

protected void handleMouseExited(MouseEvent e)

handleWindowEvent

protected void handleWindowEvent(WindowEvent e)

getRealParent

protected JComponent getRealParent(RootPaneContainer rootPaneContainer)

handleComponentEvent

protected void handleComponentEvent(ComponentEvent e)
This method will process component event. By default, if popup's ancestor is hidden, we will hide the popup as well if the popup is transient (isTransient returns true). If popup's ancestor is moved, we will either move or hide the popup depending on getDefaultMoveOperation() value.

Parameters:
e - the ComponentEvent.

ancestorHidden

protected void ancestorHidden()
This method will process component hidden event for the popup's ancestor. By default we will hide the popup immediately. You can override this to customize the behavior.


ancestorMoved

protected void ancestorMoved()
This method will process component moved event for the popup's ancestor. By default we will move the popup if getDefaultMoveOperation() is MOVE_ON_MOVED, or hide the popup if getDefaultMoveOperation() is HIDE_ON_MOVED. You can override this to customize the behavior.


hidePopup

public void hidePopup()

hidePopup

public void hidePopup(boolean cancelled)

isPopupVisible

public boolean isPopupVisible()

getPopupBounds

public Rectangle getPopupBounds()

hidePopupImmediately

public void hidePopupImmediately(boolean cancelled)

hidePopupImmediately

public void hidePopupImmediately()
Hides the popup immediately (compare to hidePopup() could use animation to hide the popup).


shouldAWTEventListenerBeUsed

protected boolean shouldAWTEventListenerBeUsed()
Returns whether the AWTEventEventListener should be used to handle event processing

Returns:
true to use the AWT event listener; false otherwise

getOwner

public Component getOwner()
Gets the owner of the popup.

Returns:
the owner of the popup.

setOwner

public void setOwner(Component owner)
Sets the owner of the popup. By default, we will call addExcludedComponent(owner) so that clicking on the owner will not hide the popup. If you prefer to hide the popup when the owner is clicked, please call removeExcludedComponent(java.awt.Component) to remove it explicitly after setOwner is called.

Parameters:
owner - the new owner.

isMovable

public boolean isMovable()
Checks if the popup is movable. If yes, it will show the gripper so that user can grab it and move the popup. If the popup is attached to its owner, moving it will detach from the owner.

Returns:
true if gripper is visible

setMovable

public void setMovable(boolean movable)
Sets the movable attribute.

Parameters:
movable - true or false.

isResizable

public boolean isResizable()
Checks if the popup is resizable. By default, resizable option is true.

Depending on the detached/attached mode, the resizing behavior may be different. If a popup is detached to a component, it only allows you to resize from bottom, bottom right and right It obviously doesn't make sense to resize from top and top side is aligned with the attached component.

(Notes: in the future we will allow resize from different corner if the popup is shown above owner due to not enough space on the screen).

Returns:
if the popup is resizable.

setResizable

public void setResizable(boolean resizable)
Sets the resizable option.

Parameters:
resizable - true or false.

isAttachable

public boolean isAttachable()
Checks if the popup is attachable. By default, attachable option is true.

Returns:
if the popup is attachable.

setAttachable

public void setAttachable(boolean attachable)
Sets the attachable option.

Parameters:
attachable - true or false.

isDetached

public boolean isDetached()
Checks if the popup is detached.

A popup has detached and attached mode. When a popup is in attached, it will act like it's part of the owner (which can be set using setOwner(java.awt.Component). When owner is moved, the popup will be moved. If the owner is hidden, the popup will hidden. In the other word, it is attached with the owner. In detached mode, popup becomes an independent floating window. It will stay at the same location regardless if owner is moved. It could still be visible when owner is hidden.

Returns:
true if it's ddetached Otherwise false.

setDetached

public void setDetached(boolean detached)
Changes the popup's detached mode.

Parameters:
detached - true or false.

getPopupBorder

public Border getPopupBorder()
Gets the popup border set by setPopupBorder(javax.swing.border.Border).

Returns:
the border for this popup.

setPopupBorder

public void setPopupBorder(Border popupBorder)
Sets the border for this popup. Please note a non-empty border is needed if you want the popup to be resizable.

Parameters:
popupBorder - the border for the popup.

isTransient

public boolean isTransient()
Checks if the popup is transient.

Returns:
true if transient.
See Also:
setTransient(boolean)

setTransient

public void setTransient(boolean isTransient)
Sets the transient attribute. If a popup is transient, it will hide automatically when mouse is clicked outside the popup. Otherwise, it will stay visible until timeout or hidePopup() is called.

Parameters:
isTransient - true or false.

getTimeout

public int getTimeout()
Gets the time out value, in milliseconds.

Returns:
the time out value, in milliseconds.

setTimeout

public void setTimeout(int timeout)
Sets the time out value, in milliseconds. If you don't want the popup hide after the time out, set the value to 0. By default it's 0 meaning it will never time out.

Typically, you call setTimeOut before the popup is visible. But if you do call setTimeOut when popup is already visible (which means the timer is running), we will restart the timer using the new time out value you just set, even the new time out value is the same as the old one. In the other word, this setTimeOut call will always restart the timer if the timer is running.

Parameters:
timeout - new time out value, in milliseconds. 0 if you don't want popup automatically hides.

getDefaultFocusComponent

public Component getDefaultFocusComponent()
Gets the default focus component.

Returns:
the default focus component.

setDefaultFocusComponent

public void setDefaultFocusComponent(Component defaultFocusComponent)
Sets the default focus component. Default focus component should be a child component on this popup. It will get focus when popup is shown. By setting a non-null component as default focus component, the JWindow that contains the JidePopup will be set focusable. Otherwise the JWindow will be non-focusable.

Parameters:
defaultFocusComponent - the default focus component.

addPopupMenuListener

public void addPopupMenuListener(PopupMenuListener l)
Adds a PopupMenu listener which will listen to notification messages from the popup portion of the combo box.

For all standard look and feels shipped with Java 2, the popup list portion of combo box is implemented as a JPopupMenu. A custom look and feel may not implement it this way and will therefore not receive the notification.

Parameters:
l - the PopupMenuListener to add

removePopupMenuListener

public void removePopupMenuListener(PopupMenuListener l)
Removes a PopupMenuListener.

Parameters:
l - the PopupMenuListener to remove
Since:
1.4
See Also:
addPopupMenuListener(javax.swing.event.PopupMenuListener)

getPopupMenuListeners

public PopupMenuListener[] getPopupMenuListeners()
Returns an array of all the PopupMenuListeners added to this JComboBox with addPopupMenuListener().

Returns:
all of the PopupMenuListeners added or an empty array if no listeners have been added

firePopupMenuWillBecomeVisible

public void firePopupMenuWillBecomeVisible()
Notifies PopupMenuListeners that the popup portion of the combo box will become visible.

This method is public but should not be called by anything other than the UI delegate.

See Also:
addPopupMenuListener(javax.swing.event.PopupMenuListener)

firePopupMenuWillBecomeInvisible

public void firePopupMenuWillBecomeInvisible()
Notifies PopupMenuListeners that the popup portion of the combo box has become invisible.

This method is public but should not be called by anything other than the UI delegate.

See Also:
addPopupMenuListener(javax.swing.event.PopupMenuListener)

firePopupMenuCanceled

public void firePopupMenuCanceled()
Notifies PopupMenuListeners that the popup portion of the combo box has been canceled.

This method is public but should not be called by anything other than the UI delegate.

See Also:
addPopupMenuListener(javax.swing.event.PopupMenuListener)

getDefaultMoveOperation

public int getDefaultMoveOperation()
Gets the default operation when the owner is moved. The valid values are either HIDE_ON_MOVED, MOVE_ON_MOVED or DO_NOTHING_ON_MOVED.

Returns:
the default operation when the owner is moved.

setDefaultMoveOperation

public void setDefaultMoveOperation(int defaultMoveOperation)
Sets the default operation when the owner is moved. The valid could be either HIDE_ON_MOVED, MOVE_ON_MOVED or DO_NOTHING_ON_MOVED.

Parameters:
defaultMoveOperation - the default operation when the owner is moved.

addExcludedComponent

public void addExcludedComponent(Component component)
Adds a component as excluded component. If a component is an excluded component or descendant of an excluded component, clicking on it will not hide the popup.

For example, AbstractComboBox uses JidePopup to display the popup. If you want to show a JDialog from the popup, you will have to add the dialog as excluded component. See below for an example.


 JDialog dialog =new JDialog((Frame) JideSwingUtilities.getWindowForComponent(this), true);
 dialog.add(new JTable(10, 4));
 dialog.pack();
 Container ancestorOfClass = SwingUtilities.getAncestorOfClass(JidePopup.class, this); // try
 to find the JidePopup
 if(ancestorOfClass instanceof  JidePopup) {
     ((JidePopup) ancestorOfClass).addExcludedComponent(dialog);
 }
 dialog.setVisible(true);
 if(ancestorOfClass instanceof  JidePopup) {
     ((JidePopup) ancestorOfClass).removeExcludedComponent(dialog);
 }
 

Parameters:
component - the component should be excluded.

removeExcludedComponent

public void removeExcludedComponent(Component component)
Removes a component from the excluded component list. If a component is an excluded component, clicking on it will not hide the popup.

Parameters:
component - the component was excluded before.

removeAllExcludedComponents

public void removeAllExcludedComponents()
Removes all excluded components that were added before.


isExcludedComponent

public boolean isExcludedComponent(Component component)
Checks if a component is an excluded component. If a component is an excluded component, clicking on it will not hide the popup. By default, owner is always the excluded component.

Parameters:
component - a component.
Returns:
true if the component is an excluded component.

getGripperLocation

public int getGripperLocation()

setGripperLocation

public void setGripperLocation(int gripperLocation)
Sets the gripper location. The valid values are SwingConstants.NORTH, SwingConstants.SOUTH, SwingConstants.EAST, and SwingConstants.WEST.

Parameters:
gripperLocation - the new gripper location.

getPopupType

public int getPopupType()

setPopupType

public void setPopupType(int popupType)

isClickOnPopup

public boolean isClickOnPopup(MouseEvent e)
Checks if the mouse event is on the popup. By default, we will check if popup is an ancestor of the clicked component. If it returns true, the popup will not be hidden. If false, the popup will be hidden as we consider the mouse click is outside the popup.

Parameters:
e - the mouse event
Returns:
true or false.

getActualOwner

protected Component getActualOwner()
Gets the actual owner. User can set owner using setOwner(java.awt.Component) method. But when one of the showPopup methods with owner parameter is called, the actual owner will be changed to this component.

Returns:
the actual owner.

setPreferredPopupSize

public void setPreferredPopupSize(Dimension size)
Sets the preferred popup size. This method can be used when you want to keep the popup size to be the same as when it was closed.

Parameters:
size - the size of the popup when it was shown last time.

isPopupAncestorOf

public static boolean isPopupAncestorOf(JidePopup popup,
                                        Component c)

isReturnFocusToOwner

public boolean isReturnFocusToOwner()
gets the flag. If true, it will return focus to the owner when the popup is hidden.

Returns:
true or false.

setReturnFocusToOwner

public void setReturnFocusToOwner(boolean returnFocusToOwner)
Sets the flag to return focus to the owner when the popup is hidden.

Parameters:
returnFocusToOwner - true or false.

JIDE 3.5.15