TV-Browser 3.3.3 API

util.ui
Class ScrollableMenu

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.AbstractButton
                  extended by javax.swing.JMenuItem
                      extended by javax.swing.JMenu
                          extended by util.ui.ScrollableMenu
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.ItemSelectable, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.MenuElement, javax.swing.SwingConstants
Direct Known Subclasses:
SelectFilterPopup

public class ScrollableMenu
extends javax.swing.JMenu

An implementation of a scrollable menu -- a popup window containing JMenuItems that is displayed when the user selects an item on the JMenuBar. In addition to JMenuItems, a JMenu can also contain JSeparators.

In essence, a menu is a button with an associated JPopupMenu. When the "button" is pressed, the JPopupMenu appears. If the "button" is on the JMenuBar, the menu is a top-level window. If the "button" is another menu item, then the JPopupMenu is "pull-right" menu. If the menu contains more items than displayable on the screen the menu becomes scrollable by hiding some of the items and adding an add and a down arrow at both ends of the menu to scroll the menu with this arrows. description: A popup window containing menu items displayed in a menu bar.

See Also:
JPopupMenu, Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JMenu
javax.swing.JMenu.AccessibleJMenu, javax.swing.JMenu.WinListener
 
Nested classes/interfaces inherited from class javax.swing.JMenuItem
javax.swing.JMenuItem.AccessibleJMenuItem
 
Nested classes/interfaces inherited from class javax.swing.AbstractButton
javax.swing.AbstractButton.AccessibleAbstractButton, javax.swing.AbstractButton.ButtonChangeListener
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class javax.swing.JMenu
popupListener
 
Fields inherited from class javax.swing.AbstractButton
actionListener, BORDER_PAINTED_CHANGED_PROPERTY, changeEvent, changeListener, CONTENT_AREA_FILLED_CHANGED_PROPERTY, DISABLED_ICON_CHANGED_PROPERTY, DISABLED_SELECTED_ICON_CHANGED_PROPERTY, FOCUS_PAINTED_CHANGED_PROPERTY, HORIZONTAL_ALIGNMENT_CHANGED_PROPERTY, HORIZONTAL_TEXT_POSITION_CHANGED_PROPERTY, ICON_CHANGED_PROPERTY, itemListener, MARGIN_CHANGED_PROPERTY, MNEMONIC_CHANGED_PROPERTY, model, MODEL_CHANGED_PROPERTY, PRESSED_ICON_CHANGED_PROPERTY, ROLLOVER_ENABLED_CHANGED_PROPERTY, ROLLOVER_ICON_CHANGED_PROPERTY, ROLLOVER_SELECTED_ICON_CHANGED_PROPERTY, SELECTED_ICON_CHANGED_PROPERTY, TEXT_CHANGED_PROPERTY, VERTICAL_ALIGNMENT_CHANGED_PROPERTY, VERTICAL_TEXT_POSITION_CHANGED_PROPERTY
 
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.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
ScrollableMenu()
          Constructs a new JMenu with no text.
ScrollableMenu(javax.swing.Action a)
          Constructs a new JMenu whose properties are taken from the Action supplied.
ScrollableMenu(java.lang.String menuTitle)
          Constructs a new JMenu with the supplied string as its text.
ScrollableMenu(java.lang.String s, boolean b)
          Constructs a new JMenu with the supplied string as its text and specified as a tear-off menu or not.
 
Method Summary
 java.awt.Component add(java.awt.Component component)
          Appends a component to the end of this menu.
 java.awt.Component add(java.awt.Component component, int index)
          Adds the specified component to this container at the given position.
 javax.swing.JMenuItem add(javax.swing.JMenuItem menuItem)
          Appends a menu item to the end of this menu.
protected  void addScrollableComponent(java.awt.Component component)
          Add the specified component at the end of this scrollable menu
protected  void addScrollableComponent(java.awt.Component component, int pos)
          Add the specified component to this scrollable menu
 void addSeparator()
          Appends a new separator to the end of the menu.
 javax.swing.JMenuItem getItem(int pos)
          Returns the JMenuItem at the specified position.
 int getItemCount()
          Returns the number of items on the menu, including separators.
 java.awt.Component getMenuComponent(int n)
          Returns the component at position n.
 int getMenuComponentCount()
          Returns the number of components on the menu.
 java.awt.Component[] getMenuComponents()
          Returns an array of Components of the menu's subcomponents.
 javax.swing.MenuElement[] getSubElements()
           
 javax.swing.JMenuItem insert(javax.swing.Action a, int pos)
          Inserts a new menu item attached to the specified Action object at a given position.
 javax.swing.JMenuItem insert(javax.swing.JMenuItem menuItem, int pos)
          Inserts the specified JMenuitem at a given position.
 void insert(java.lang.String s, int pos)
           
 boolean isMenuComponent(java.awt.Component component)
          Returns true if the specified component exists in the submenu hierarchy.
 void remove(java.awt.Component component)
          Removes the component c from this menu.
 void remove(int pos)
          Removes the menu item at the specified index from this menu.
 void remove(javax.swing.JMenuItem menuItem)
          Removes the specified menu item from this menu.
 void removeAll()
          Removes all menu items from this menu.
protected  void removeScrollableComponent(java.awt.Component component)
          Remove the specified component from this scrollable menu
 
Methods inherited from class javax.swing.JMenu
add, add, addMenuListener, applyComponentOrientation, createActionChangeListener, createActionComponent, createWinListener, doClick, fireMenuCanceled, fireMenuDeselected, fireMenuSelected, getAccessibleContext, getComponent, getDelay, getMenuListeners, getPopupMenu, getPopupMenuOrigin, getUIClassID, insertSeparator, isPopupMenuVisible, isSelected, isTearOff, isTopLevelMenu, menuSelectionChanged, paramString, processKeyEvent, removeMenuListener, setAccelerator, setComponentOrientation, setDelay, setMenuLocation, setModel, setPopupMenuVisible, setSelected, updateUI
 
Methods inherited from class javax.swing.JMenuItem
actionPropertyChanged, addMenuDragMouseListener, addMenuKeyListener, configurePropertiesFromAction, fireMenuDragMouseDragged, fireMenuDragMouseEntered, fireMenuDragMouseExited, fireMenuDragMouseReleased, fireMenuKeyPressed, fireMenuKeyReleased, fireMenuKeyTyped, getAccelerator, getMenuDragMouseListeners, getMenuKeyListeners, init, isArmed, processKeyEvent, processMenuDragMouseEvent, processMenuKeyEvent, processMouseEvent, removeMenuDragMouseListener, removeMenuKeyListener, setArmed, setEnabled, setUI
 
Methods inherited from class javax.swing.AbstractButton
addActionListener, addChangeListener, addImpl, addItemListener, checkHorizontalKey, checkVerticalKey, createActionListener, createActionPropertyChangeListener, createChangeListener, createItemListener, doClick, fireActionPerformed, fireItemStateChanged, fireStateChanged, getAction, getActionCommand, getActionListeners, getChangeListeners, getDisabledIcon, getDisabledSelectedIcon, getDisplayedMnemonicIndex, getHideActionText, getHorizontalAlignment, getHorizontalTextPosition, getIcon, getIconTextGap, getItemListeners, getLabel, getMargin, getMnemonic, getModel, getMultiClickThreshhold, getPressedIcon, getRolloverIcon, getRolloverSelectedIcon, getSelectedIcon, getSelectedObjects, getText, getUI, getVerticalAlignment, getVerticalTextPosition, imageUpdate, isBorderPainted, isContentAreaFilled, isFocusPainted, isRolloverEnabled, paintBorder, removeActionListener, removeChangeListener, removeItemListener, removeNotify, setAction, setActionCommand, setBorderPainted, setContentAreaFilled, setDisabledIcon, setDisabledSelectedIcon, setDisplayedMnemonicIndex, setFocusPainted, setHideActionText, setHorizontalAlignment, setHorizontalTextPosition, setIcon, setIconTextGap, setLabel, setLayout, setMargin, setMnemonic, setMnemonic, setMultiClickThreshhold, setPressedIcon, setRolloverEnabled, setRolloverIcon, setRolloverSelectedIcon, setSelectedIcon, setText, setUI, setVerticalAlignment, setVerticalTextPosition
 
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, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, addContainerListener, addPropertyChangeListener, addPropertyChangeListener, 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, 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, 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, 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
 
Methods inherited from interface javax.swing.MenuElement
processKeyEvent, processMouseEvent
 

Constructor Detail

ScrollableMenu

public ScrollableMenu()
Constructs a new JMenu with no text.


ScrollableMenu

public ScrollableMenu(javax.swing.Action a)
Constructs a new JMenu whose properties are taken from the Action supplied.

Parameters:
a - an Action
Since:
1.3

ScrollableMenu

public ScrollableMenu(java.lang.String s,
                      boolean b)
Constructs a new JMenu with the supplied string as its text and specified as a tear-off menu or not.

Parameters:
s - the text for the menu label
b - can the menu be torn off (not yet implemented)

ScrollableMenu

public ScrollableMenu(java.lang.String menuTitle)
Constructs a new JMenu with the supplied string as its text.

Parameters:
menuTitle - the text for the menu label
Method Detail

add

public javax.swing.JMenuItem add(javax.swing.JMenuItem menuItem)
Appends a menu item to the end of this menu. Returns the menu item added.

Overrides:
add in class javax.swing.JMenu
Parameters:
menuItem - the JMenuitem to be added
Returns:
the JMenuItem added

add

public java.awt.Component add(java.awt.Component component)
Appends a component to the end of this menu. Returns the component added.

Overrides:
add in class javax.swing.JMenu
Parameters:
component - the Component to add
Returns:
the Component added

add

public java.awt.Component add(java.awt.Component component,
                              int index)
Adds the specified component to this container at the given position. If index equals -1, the component will be appended to the end.

Overrides:
add in class javax.swing.JMenu
Parameters:
component - the Component to add
index - the position at which to insert the component
Returns:
the Component added
See Also:
remove(Component), Container.add(Component, int)

insert

public void insert(java.lang.String s,
                   int pos)
Overrides:
insert in class javax.swing.JMenu

insert

public javax.swing.JMenuItem insert(javax.swing.JMenuItem menuItem,
                                    int pos)
Inserts the specified JMenuitem at a given position.

Overrides:
insert in class javax.swing.JMenu
Parameters:
menuItem - the JMenuitem to add
pos - an integer specifying the position at which to add the new JMenuitem
Returns:
the new menu item
Throws:
java.lang.IllegalArgumentException - if the value of pos < 0

insert

public javax.swing.JMenuItem insert(javax.swing.Action a,
                                    int pos)
Inserts a new menu item attached to the specified Action object at a given position.

Overrides:
insert in class javax.swing.JMenu
Parameters:
a - the Action object for the menu item to add
pos - an integer specifying the position at which to add the new menu item
Throws:
java.lang.IllegalArgumentException - if the value of pos < 0

getItem

public javax.swing.JMenuItem getItem(int pos)
Returns the JMenuItem at the specified position. If the component at pos is not a menu item, null is returned. This method is included for AWT compatibility.

Overrides:
getItem in class javax.swing.JMenu
Parameters:
pos - an integer specifying the position
Returns:
the menu item at the specified position; or null if the item as the specified position is not a menu item
Throws:
java.lang.IllegalArgumentException - if the value of pos < 0

getItemCount

public int getItemCount()
Returns the number of items on the menu, including separators. This method is included for AWT compatibility.

Overrides:
getItemCount in class javax.swing.JMenu
Returns:
an integer equal to the number of items on the menu
See Also:
getMenuComponentCount()

remove

public void remove(javax.swing.JMenuItem menuItem)
Removes the specified menu item from this menu. If there is no popup menu, this method will have no effect.

Overrides:
remove in class javax.swing.JMenu
Parameters:
menuItem - the JMenuItem to be removed from the menu

remove

public void remove(int pos)
Removes the menu item at the specified index from this menu.

Overrides:
remove in class javax.swing.JMenu
Parameters:
pos - the position of the item to be removed
Throws:
java.lang.IllegalArgumentException - if the value of pos < 0, or if pos is greater than the number of menu items

remove

public void remove(java.awt.Component component)
Removes the component c from this menu.

Overrides:
remove in class javax.swing.JMenu
Parameters:
component - the component to be removed

removeAll

public void removeAll()
Removes all menu items from this menu.

Overrides:
removeAll in class javax.swing.JMenu

getMenuComponentCount

public int getMenuComponentCount()
Returns the number of components on the menu.

Overrides:
getMenuComponentCount in class javax.swing.JMenu
Returns:
an integer containing the number of components on the menu

getMenuComponent

public java.awt.Component getMenuComponent(int n)
Returns the component at position n.

Overrides:
getMenuComponent in class javax.swing.JMenu
Parameters:
n - the position of the component to be returned
Returns:
the component requested, or null if there is no popup menu

getMenuComponents

public java.awt.Component[] getMenuComponents()
Returns an array of Components of the menu's subcomponents. Note that this returns all Components in the popup menu, including separators.

Overrides:
getMenuComponents in class javax.swing.JMenu
Returns:
an array of Components or an empty array if there is no popup menu

isMenuComponent

public boolean isMenuComponent(java.awt.Component component)
Returns true if the specified component exists in the submenu hierarchy.

Overrides:
isMenuComponent in class javax.swing.JMenu
Parameters:
component - the Component to be tested
Returns:
true if the Component exists, false otherwise

addSeparator

public void addSeparator()
Appends a new separator to the end of the menu.

Overrides:
addSeparator in class javax.swing.JMenu

addScrollableComponent

protected void addScrollableComponent(java.awt.Component component,
                                      int pos)
Add the specified component to this scrollable menu

Parameters:
component - the Component to add
pos - an integer specifying the position at which to add the new component

addScrollableComponent

protected void addScrollableComponent(java.awt.Component component)
Add the specified component at the end of this scrollable menu

Parameters:
component - the Component to add

removeScrollableComponent

protected void removeScrollableComponent(java.awt.Component component)
Remove the specified component from this scrollable menu

Parameters:
component - the Component to remove

getSubElements

public javax.swing.MenuElement[] getSubElements()
Specified by:
getSubElements in interface javax.swing.MenuElement
Overrides:
getSubElements in class javax.swing.JMenu

TV-Browser 3.3.3 API

TV-Browser 3.3.3, Copyright (C) 2004-2008 TV-Browser Team (dev@tvbrowser.org)