|
|||||||||
| Home >> All >> org >> merlotxml >> [ merlot overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
org.merlotxml.merlot
Class JMoreMenu

java.lang.Objectjava.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.AbstractButton
javax.swing.JMenuItem
javax.swing.JMenu
org.merlotxml.merlot.JMoreMenu
- All Implemented Interfaces:
- javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.ItemSelectable, java.awt.MenuContainer, javax.swing.MenuElement, java.io.Serializable, javax.swing.SwingConstants
- public class JMoreMenu
- extends javax.swing.JMenu
| Nested Class Summary |
| Nested classes inherited from class javax.swing.JMenu |
javax.swing.JMenu.AccessibleJMenu, javax.swing.JMenu.WinListener |
| Nested classes inherited from class javax.swing.JMenuItem |
javax.swing.JMenuItem.AccessibleJMenuItem |
| Nested classes inherited from class javax.swing.AbstractButton |
javax.swing.AbstractButton.AccessibleAbstractButton, javax.swing.AbstractButton.ButtonChangeListener |
| Nested classes inherited from class javax.swing.JComponent |
javax.swing.JComponent.AccessibleJComponent |
| Nested classes inherited from class java.awt.Container |
java.awt.Container.AccessibleAWTContainer |
| Nested classes inherited from class java.awt.Component |
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy |
| Field Summary | |
protected double |
maximumHeight
The maximum height in screen pixles a menu is allowed to be. |
static java.lang.String |
MORE
More Menu Text - makes changing text easier later |
(package private) JMoreMenu |
moreMenu
Used to provide arbitrarily deep more menus. |
protected double |
myHeight
Manually keep track of height - getPreferredSize/getSize seems to only work properly after the menu has been dispayed at least once. |
static int |
TASKBAR_HEIGHT
Take into account most window managers have a task or system bar always on top on the bottom of the screen. |
| Fields inherited from class javax.swing.JMenu |
popupListener |
| Fields inherited from class javax.swing.JMenuItem |
|
| 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.Container |
|
| 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 | |
JMoreMenu()
Default constructor |
|
JMoreMenu(java.lang.String label)
Constructor - override JMenu constructor set the default height |
|
JMoreMenu(java.lang.String label,
boolean b)
Constructor - override JMenu constructor, set the default height. |
|
| Method Summary | |
javax.swing.JMenuItem |
add(javax.swing.Action a)
Override of JMenu::add(Action); |
javax.swing.JMenuItem |
add(javax.swing.JMenuItem menuItem)
Override of JMenu::add(JMenuItem) |
javax.swing.JMenuItem |
add(java.lang.String string)
Override of JMenuItem::add(string) |
java.awt.Component |
addComponent(java.awt.Component c)
Convenience add on - allows for easy integration to SizeableJPopupMenu. |
private void |
createSubMoreMenu()
Convenience helper function - same functionality but use a local helper in case I have to change things later |
java.util.Vector |
getAllSubComponents()
Get all Components **MINUS THE MORE BUTTONS** Use vectors, they are easier to work with when dynamically appending |
java.awt.Component |
getComponentAtIndex(int index)
Override of JMenu::getComponentAtIndex(int). |
int |
getComponentIndex(java.awt.Component c)
Override of JMenu getComponentIndex(Component). |
double |
getMaximumHeight()
Accessor |
(package private) JMoreMenu |
getMoreMenu()
Get sub-menu |
javax.swing.JMenuItem |
insert(javax.swing.Action a,
int index)
Override JMenu::insert(Action, int) Automatically restuctures menu by height. |
void |
insert(java.awt.Component c,
int index)
insert at index (if index > menusize append item) JMenus do not have a insert(Component, index) Hence removeAll, then re-add everything inserting the new one when appropriate. |
void |
insert(java.lang.String string,
int index)
Override JMenu::insert(String, int) Automatically restuctures menu by height. |
void |
insertStatic(java.awt.Component c)
Used to forcibly insert items at the end of the primary menu. |
void |
remove(int index)
Override JMoreMenu remove. |
void |
removeAll()
Override JMoreMenu removeAll. |
void |
setMaximumHeight(double aHeight)
Set the maximum allowable height if default screenheight-taskbar is insufficient. |
void |
setPopupMenuVisible(boolean b)
Set the position of the menus - try guard against the menus going off the screen. |
void |
setSelected(java.awt.Component c)
Override of the JMenu::setSelected, includes a "do something intelligent" check to help ease integration with SizeableJPopupMenu |
int |
SizeableGetItemCount()
Convenience add on |
| 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 |
| Field Detail |
MORE
public static final java.lang.String MORE
- More Menu Text - makes changing text easier later
- See Also:
- Constant Field Values
TASKBAR_HEIGHT
public static final int TASKBAR_HEIGHT
- Take into account most window managers have a task or system
bar always on top on the bottom of the screen. Empirically
determined value.
- See Also:
- Constant Field Values
maximumHeight
protected double maximumHeight
- The maximum height in screen pixles a menu is allowed to be.
myHeight
protected double myHeight
- Manually keep track of height - getPreferredSize/getSize seems
to only work properly after the menu has been dispayed at least
once.
moreMenu
JMoreMenu moreMenu
- Used to provide arbitrarily deep more menus.
| Constructor Detail |
JMoreMenu
public JMoreMenu()
- Default constructor
JMoreMenu
public JMoreMenu(java.lang.String label)
- Constructor - override JMenu constructor set the default height
JMoreMenu
public JMoreMenu(java.lang.String label, boolean b)
- Constructor - override JMenu constructor, set the default height.
| Method Detail |
add
public javax.swing.JMenuItem add(javax.swing.Action a)
- Override of JMenu::add(Action);
add
public javax.swing.JMenuItem add(javax.swing.JMenuItem menuItem)
- Override of JMenu::add(JMenuItem)
addComponent
public java.awt.Component addComponent(java.awt.Component c)
- Convenience add on - allows for easy integration to
SizeableJPopupMenu. There are a differences between
JPopupMenu and JMenu that make them not completely straightforward
to integrate.
add
public javax.swing.JMenuItem add(java.lang.String string)
- Override of JMenuItem::add(string)
getComponentIndex
public int getComponentIndex(java.awt.Component c)
- Override of JMenu getComponentIndex(Component). Automatically
skips over menu genereated "more>" item.
getComponentAtIndex
public java.awt.Component getComponentAtIndex(int index)
- Override of JMenu::getComponentAtIndex(int). Automatically
skip over the menu generated "more>" item.
setSelected
public void setSelected(java.awt.Component c)
- Override of the JMenu::setSelected, includes a
"do something intelligent" check to help ease integration
with SizeableJPopupMenu
insert
public void insert(java.awt.Component c, int index)
- insert at index (if index > menusize append item)
JMenus do not have a insert(Component, index)
Hence removeAll, then re-add everything inserting the new one
when appropriate.
insert
public javax.swing.JMenuItem insert(javax.swing.Action a, int index)
- Override JMenu::insert(Action, int) Automatically restuctures
menu by height.
insert
public void insert(java.lang.String string, int index)
- Override JMenu::insert(String, int) Automatically restuctures
menu by height.
remove
public void remove(int index)
- Override JMoreMenu remove. Automatically take "more>" structure
into account.
removeAll
public void removeAll()
- Override JMoreMenu removeAll. Automatically take "more>" structure
into account.
SizeableGetItemCount
public int SizeableGetItemCount()
- Convenience add on
createSubMoreMenu
private void createSubMoreMenu()
- Convenience helper function - same functionality but
use a local helper in case I have to change things
later
setMaximumHeight
public void setMaximumHeight(double aHeight)
- Set the maximum allowable height if default screenheight-taskbar
is insufficient.
getMaximumHeight
public double getMaximumHeight()
- Accessor
getAllSubComponents
public java.util.Vector getAllSubComponents()
- Get all Components **MINUS THE MORE BUTTONS**
Use vectors, they are easier to work with when dynamically appending
insertStatic
public void insertStatic(java.awt.Component c)
- Used to forcibly insert items at the end of the primary
menu. Useful if you have items that you don't want
who knows how many levels deep in the more structure.
setPopupMenuVisible
public void setPopupMenuVisible(boolean b)
- Set the position of the menus - try guard against the menus going
off the screen.
WARNING - The code here is not very complex, but a bit deceiving
Getting this code **CORRECT** is a lot tricker than
it looks, primarily due to the fact you don't have
easy access to the internal co-ordinate system and
associated maniuplation routines. Most of this code
is work-around of known problems in Swing with a
couple of sequence dependent items. (must be called
at the appropriate time).
When making mods, proceed with MUCH CAUTION!.
getMoreMenu
JMoreMenu getMoreMenu()
- Get sub-menu
|
|||||||||
| Home >> All >> org >> merlotxml >> [ merlot overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
JAVADOC