diff options
author | Graydon Hoare <graydon@gcc.gnu.org> | 2004-06-17 23:43:16 +0000 |
---|---|---|
committer | Graydon Hoare <graydon@gcc.gnu.org> | 2004-06-17 23:43:16 +0000 |
commit | 4dfcdad172a0959dbbbbe5084b393ba8995c67dd (patch) | |
tree | 0b7a36fdca2f61d07e5d16b523a65334e7f98cc3 /libjava/javax/swing/JPopupMenu.java | |
parent | 398ce3dd7c85766ec8645d7815fac8248c568b54 (diff) | |
download | gcc-4dfcdad172a0959dbbbbe5084b393ba8995c67dd.zip gcc-4dfcdad172a0959dbbbbe5084b393ba8995c67dd.tar.gz gcc-4dfcdad172a0959dbbbbe5084b393ba8995c67dd.tar.bz2 |
[multiple changes]
2004-06-17 Michael Koch <konqueror@gmx.de>
* javax/swing/JToolBar.java
(name): Removed.
(JToolBar): Use Component.setName(String) instead of doing it all
alone.
* javax/swing/Timer.java
(queueEvent): Added missing modifier.
2004-06-17 Olga Rodimina <rodimina@redhat.coom>
* Makefile.am: Added new file.
* Makefile.in: Re-generate.
* javax/swing/JMenu.java:
(insertSeparator): Implemented.
* javax/swing/JPopupMenu.java:
(JPopupMenu.Separator): Implemented.
* javax/swing/MenuSelectionManager.java:
(processMouseEvent): Use java.awt.Component
for event source instead of javax.swing.JComponent.
* javax/swing/plaf/basic/BasicPopupMenuSeparatorUI.java:
New File. Implemented.
2004-06-16 David Jee <djee@redhat.com>
* java/awt/GridBagLayout.java
(GetLayoutInfo): Adjust cell sizes iff parent size is not zero.
Make sure pos_x and pos_y are never negative.
2004-04-16 Andrew Overholt <overholt@redhat.com>
* Makefile.am: Add new file.
* Makefile.in: Re-generate.
* javax/swing/JToolBar.java
Partially implemented.
* javax/swing/plaf/basic/BasicToolBarUI.java
New file. Partially implemented.
2004-06-16 Graydon Hoare <graydon@redhat.com>
* gnu/java/awt/peer/gtk/GdkGraphics2D.java
(setComposite): Accept AlphaComposite arguments.
* gnu/java/awt/peer/gtk/GdkPixbufDecoder.java
(createBufferedImage): Add new overloads.
* gnu/java/awt/peer/gtk/GtkToolkit.java
(createImage): Use GdkPixbufDecoder.createBufferedImage
when useGraphics2D() is true.
(getImage): Delegate to createImage.
* javax/swing/JList.java
(isSelectionEmpty):
(getFirstVisibleIndex):
(getLastVisibleIndex):
(setSelectedValue):
(ensureIndexIsVisible): New methods.
* javax/swing/Timer.java: Reimplement.
2004-06-16 Michael Koch <konqueror@gmx.de>
* javax/swing/text/AbstractDocument.java
(AbstracElement): Made public, implements java.io.Serializable.
(AttributeContext): Made public.
(BranchElement): Likewise.
(Content): Likewise.
(DefaultDocumentEvent): Made public, extends
javax.swing.undo.CompoundEdit.
(ElementEdit): Made public, extends
javax.swing.undo.AbstractUndoableEdit.
(LeafElement): Made public.
(LeafElement.LeafElement): Made public.
2004-06-16 Michael Koch <konqueror@gmx.de>
* javax/swing/text/JTextComponent.java: Totally reworked. Removed many
methods (that were obviously never be intended to get included hi this
class. Added some methods too.
2004-06-16 Michael Koch <konqueror@gmx.de>
* javax/swing/text/PlainDocument.java
(serialVersionUID): New constant.
(lineLimitAttribute): Likewise.
(tabSizeAttribute): Likewise.
(tabSize): New field.
(PlainDocument): Made public.
(PlainDocument): New constructor.
2004-06-16 Michael Koch <konqueror@gmx.de>
* javax/swing/text/AbstractDocument.java
(insertString): Throws BadLocationException.
* javax/swing/text/Document.java
(insertString): Likewise.
* javax/swing/text/JTextComponent.java:
Javadocs and comments cleaned up.
2004-06-16 Michael Koch <konqueror@gmx.de>
* javax/swing/event/UndoableEditListener.java: Reformatted.
* javax/swing/text/AbstractDocument.java
(AbstractDocument): Implements java.io.Serializable.
(doc_list): Removed.
(undo_list): Removed.
(AbstractElement.serialVerionUID): New field.
(BranchElement.serialVerionUID): Likewise.
(DefaultDocumentEvent.serialVerionUID): Likewise.
(ElementEdit.serialVerionUID): Likewise.
(LeafElement.serialVerionUID): Likewise.
(serialVerionUID): Likewise.
(BAD_LOCATION): New constant.
(BidiElementName): Likewise.
(ContentElementName): Likewise.
(ParagraphElementName): Likewise.
(SectionElementName): Likewise.
(ElementNameAttribute): Likewise.
(AbstractDocument): Made protected.
(AbstractDocument): New construtor.
(listenerList): New field.
(fireChangedUpdate): Implemented.
(fireInsertUpdate): Likewise.
(fireRemoveUpdate): Likewise.
(fireUndoableEditUpdate): Likewise.
(getListeners): Likewise.
(addDocumentListener): Likewise.
(removeDocumentListener): Likewise.
(addUndoableEditListener): Likewise.
(removeUndoableEditListener): Likewise.
(getDocumentListeners): New method.
(getUndoableEditListeners): Likewise.
(getAsynchronousLoadPriority): Made public.
(getBidiRootElement): Likewise.
(setAsynchronousLoadPriority): Likewise.
(setDocumentProperties): Likewise.
* javax/swing/text/BadLocationException.java
(serialVerionUID): New field.
* javax/swing/text/DefaultCaret.java
(changeEvent): New field.
(listenerList): Likewise.
(changes): Removed.
(addChangeListener): Reimplemented.
(removeChangeListener): Likewise.
(getListeners): New method.
(getChangeListeners): Likwise.
(getComponent): Likewise.
* javax/swing/text/GapContent.java
(GapContent): Implements java.io.Serializable.
(serialVerionUID): New field.
2004-06-16 Michael Koch <konqueror@gmx.de>
* javax/swing/JTree.java
(treeModel): New field.
(JTree): New constructors, one existing one made public.
(createTreeModel): New method.
(addTreeExpansionListener): Likewise.
(removeTreeExpansionListener): Likewise.
(getTreeExpansionListeners): Likewise.
(fireTreeCollapsed): Likewise.
(fireTreeExpanded): Likewise.
(addTreeSelectionListener): Likewise.
(removeTreeSelectionListener): Likewise.
(getTreeSelectionListeners): Likewise.
(fireValueChanged): Likewise.
(addTreeWillExpandListener): Likewise.
(removeTreeWillExpandListener): Likewise.
(getTreeWillExpandListeners): Likewise.
(fireTreeWillCollapse): Likewise.
(fireTreeWillExpand): Likewise.
2004-06-16 Michael Koch <konqueror@gmx.de>
* javax/swing/JTree.java: Reformatted.
2004-06-16 Michael Koch <konqueror@gmx.de>
* javax/swing/JTextArea.java: New file.
* javax/swing/JTextField.java
(actions): Removed.
(notifyAction): New constant.
(columns): New field.
(JTextField): New constructors.
(createDefaultModel): New method.
(addActionListener): Reimplmemented.
(removeActionListener): Reimplemented.
(getActionListeners): New method.
(fireActionPerformed): New method.
(getColumns): New method.
(setColumne): New method.
* javax/swing/text/JTextComponent.java
(AccessibleJTextComponent.serialVersionUID): New field.
(serialVersionUID): Likewise.
(DEFAULT_KEYMAP): Likewise.
(FOCUS_ACCELERATOR_KEY): Likewise.
(doc): Made private.
(icon_gap): Likewise.
(icon): Likewise.
(align): Likewise.
(JTextComponent): Some constructors removed.
(getScrollableTracksViewportHeight): New method.
(getScrollableTracksViewportWidth): Likewise.
* Makefile.am: Added javax/swing/JTextArea.java.
* Makefile.in: Regenerated.
2004-06-15 Graydon Hoare <graydon@redhat.com>
* javax/swing/ImageIcon.java (ImageIcon): New constructor.
* javax/swing/JFrame.java (defaultLookAndFeelDecorated): New property.
* javax/swing/JViewport.java
(getExtentSize): Return size rather than preferred size.
(toViewCoordinates): New methods.
(getViewSize): Return size rather than preferred size.
(setViewSize): Note view size as set.
* javax/swing/ViewportLayout.java (layoutContainer): Reimplement.
* javax/swing/plaf/basic/BasicScrollBarUI.java
(getPreferredSize): Don't redo layout.
* javax/swing/plaf/basic/BasicViewportUI.java
(paint): Translate image properly and eat exceptions.
2004-06-15 Kim Ho <kho@redhat.com>
* javax/swing/JTabbedPane.java
(setComponent): Remove old component and
add new component.
(setSelectedIndex): Don't operate on the
components if they're null. Don't set index
on the model if the index is the same.
(insertTab): Don't add or hide the component
if it's null. Repaint the container.
* javax/swing/plaf/basic/BasicLookAndFeel.java
Change colors for TabbedPane.
* javax/swing/plaf/basic/BasicTabbedPaneUI.java
(mousePressed): Re-layout and paint the component.
(layoutContainer): Don't set location on the view.
(ScrollingViewport::paint): Remove.
2004-06-14 Thomas Fitzsimmons <fitzsim@redhat.com>
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
(gtkWidgetDispatchKeyEvent): Change warning message to comment.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c (drawString):
Wrap baseline y value in PANGO_PIXELS macro, rather than simply
dividing by PANGO_SCALE. Call gdk_flush before leaving GDK
critical region.
(drawLine): Call gdk_flush before leaving GDK critical region.
(fillRect): Likewise.
(drawRect): Likewise.
(copyArea): Likewise.
(copyPixmap): Likewise.
(clearRect): Likewise.
(drawArc): Likewise.
(drawPolyline): Likewise.
(drawPolygon): Likewise.
(fillPolygon): Likewise.
(fillArc): Likewise.
(drawOval): Likewise.
(fillOval): Likewise.
* gnu/java/awt/peer/gtk/GdkFontMetrics.java (initState): Add
style parameter.
(GdkFontMetrics): Add style argument to initState call.
(stringWidth(String,int,int,String)): Add style parameter.
(stringWidth(String)): Add style argument to stringWidth call.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontMetrics.c
(initState): Set pango font style and weight based on AWT style
parameter. Pass default GTK language to
pango_context_get_metrics. Use PANGO_PIXELS macro rather than
simply dividing by PANGO_SCALE.
(stringWidth): Set pango font style and weight based on AWT style
parameter.
* java/awt/Button.java (next_button_number): New field.
(paramString): Change output.
(generateName): New method.
(getUniqueLong): New method.
2004-06-14 Kim Ho <kho@redhat.com>
* javax/swing/JTabbedPane.java:
(setComponentAt): Set the component, not
the enabled status.
* javax/swing/plaf/basic/BasicDesktopIconUI.java
(actionPerformed): Let deiconize catch exception.
2004-06-14 Olga Rodimina <rodimina@redhat.com>
* javax/swing/JPopupMenu.java:
(setVisible): Corrected location of a
heavyweight popup menu.
2004-06-14 Olga Rodimina <rodimina@redhat.com>
* javax/swing/MenuSelectionManager.java:
Ran through jalopy to fix formatting style.
2004-06-14 Olga Rodimina <rodimina@redhat.com>
* javax/swing/JLayeredPane.java:
(remove): Revalidate and repaint layered pane after
the component was removed.
javax/swing/JMenu.java:
(setVisible): Display popup menu at the user location,
if one was set by the user.
(setMenuLocation): Reimplemented. Fixed javadoc.
* javax/swing/JMenuBar.java: Added javadoc.
(BORDER_PAINTED_CHANGED_PROPERTY): New Property.
(MODEL_CHANGED_PROPERTY): New Property.
(isSelected): Implemented.
(setBorderPainted): Fire PropertyChangeEvent
if paintBorder property changes.
(setSelected): Implemented.
(setSelectionModel): Implemented.
* javax/swing/JPopupMenu.java: Added Javadoc
(pack): Implemented.
(setVisible): Reimplemented.
(show): Fixed location.
(JPopupMenu.LigthWeightPopup): Reimplemented to use
Container instead of JPanel.
* javax/swing/MenuSelectionManager.java: Added Javadocs.
(clearSelectedPath): Reimplemented to clear selectedPath
in reverse order.
(processMouseEvent): Reimplemented.
(setSelectedPath): Fire stateChange event indicating that
selected menu path has changed.
(getPath): Change to use ArrayList instead of Vector.
* javax/swing/plaf/basic/BasicMenuBarUI.java:
(installUI): call installKeyboardActions().
(uninstallUI): call uninstallKeyboardActions().
2004-06-13 Michael Koch <konqueror@gmx.de>
* javax/swing/text/DefaultCaret.java,
javax/swing/text/BadLocationException.java:
Reformatted.
2004-06-12 Thomas Fitzsimmons <fitzsim@redhat.com>
* gnu/java/awt/peer/gtk/GtkTextAreaPeer.java (DEFAULT_ROWS,
DEFAULT_COLS): New variables.
(create): Don't allow 0 rows or 0 columns. Instead, set the
values to DEFAULT_ROWS or DEFAULT_COLS.
(getMinimumSize): Likewise.
(getPreferredSize): Likewise.
(minimumSize): Likewise.
(preferredSize): Likewise.
(create): Set peer's editable state.
* java/awt/TextArea.java (TextArea()): Set rows and columns to
zero. Update javadocs.
(TextArea(String)): Likewise.
(TextArea(int,int)): Fix javadocs.
(TextArea(String,int,int,int)): Only throw exception if one of
rows or columns is zero. Fix javadocs.
2004-06-11 Thomas Fitzsimmons <fitzsim@redhat.com>
* java/awt/AWTEvent.java (toString): Handle MenuComponents in
addition to Components.
* java/awt/MenuItem.java (dispatchEventImpl): If the event
wasn't consumed by normal processing, send it to the parent
menu.
* gnu/java/awt/peer/gtk/GtkImagePainter.java
(setPixels(int,int,int,int,ColorModel,int[],int,int)): Remove
translation.
2004-06-11 David Jee <djee@redhat.com>
* java/awt/MediaTracker.java
(addImage(Image,int)): Call imageUpdate() to udpate image status.
(addImage(Image,int,int,int)): Likewise.
2004-06-11 Michael Koch <konqueror@gmx.de>
* javax/swing/text/AbstractDocument.java,
javax/swing/text/Document.java,
javax/swing/text/GapContent.java,
javax/swing/text/JTextComponent.java,
javax/swing/text/PlainDocument.java:
Reformatted.
2004-06-11 Michael Koch <konqueror@gmx.de>
* javax/swing/JRootPane.java
(AccessibleJRootPane.serialVersionUID): New field.
(AccessibleJRootPane.AccessibleJRootPane): New constructor.
(AccessibleJRootPane.getAccessibleRole): New method.
(RootLayout): Implements Serializable.
(RootLayout.serialVersionUID): New field.
(RootLayout.RootLayout): New constructor.
(setJMenuBar): Made public.
(getJMenuBar): Likewise.
(JRootPane): Likewise.
(createContentPane): Likewise.
(createGlassPane): Likewise.
(createLayeredPane): Likewise.
2004-06-11 Michael Koch <konqueror@gmx.de>
* javax/swing/SwingUtilities.java
(isLeftMouseButton): Fixed javadoc.
(isMiddleMouseButton): Likewise.
(isRightMouseButton): Likewise.
2004-06-11 Michael Koch <konqueror@gmx.de>
* javax/swing/JScrollPane.java
(serialVersionUID): New field.
(columnHeader): Made protected.
(rowHeader): Likewise.
(lowerLeft): Likewise.
(lowerRight): Likewise.
(upperLeft): Likewise.
(upperRight): Likewise.
(horizontalScrollBar): Likewise.
(horizontalScrollBarPolicy): Likewise.
(verticalScrollBar): Likewise.
(verticalScrollBarPolicy): Likewise.
(viewport): Likewise.
2004-06-11 Michael Koch <konqueror@gmx.de>
* javax/swing/LookAndFeel.java: Fixed javadocs.
2004-06-11 Michael Koch <konqueror@gmx.de>
* javax/swing/JEditorPane.java: Fixed javadocs.
(JEditorPane): Removed redundant call to to this().
(fireHyperlinkUpdate): Implemented.
2004-06-10 Olga Rodimina <rodimina@redhat.com>
* javax/swing/JMenu.java: Fixed file name
in the file comment.
2004-06-10 Olga Rodimina <rodimina@redhat.com>
* javax/swing/JMenu.java: Added javadoc.
(JMenu): Added MenuChangeListener to listen to
ChangeEvents occuring in menu's model.
(insert): Throw IllegalArgumentException if
index is less than 0
(setSelected): Reimplement.
(setPopupMenuVisible): Call menu's model isEnabled()
(setDelay): Throw IllegalArgumentException if
given amount of delay is less than 0.
(createActionComponent): Implemented.
(createActionChangeListener): Implemented.
(addSeparator): Implemented.
(getItem): Throw IllegalArgumentException if index is
less than 0.
(getItemCount): Implemented.
(fireMenuSelected): Changed to use menuEvent.
(fireMenuDeselected): Likewise.
(fireMenuCanceled): Likewise.
(setAccelerator): Changed to throw an error if this
method is used.
(doClick): Implemented.
(JMenu.ActionChangedListener): New inner class to handle
PropertyChangeEvents occuring in the actions associated with menu.
* javax/swing/plaf/basic/BasicMenuUI.java: Added javadoc.
(BasicMenuUI): Added PropertyChangeListener to the menu.
(createChangeListener): Implemented.
(createMenuDragMouseListener): Likewise.
(createMenuKeyListener): Likewise.
(createPropertyChangeListener): Likewise.
(uninstallListeners): Likewise.
(BasicMenuUI.MouseInputHandler): Reimplemented.
(BasicMenuUI.PropertyChangeHandler): New class. Not implemented yet.
(BasicMenuUI.ChangeHandler): Likewise.
(BasicMenuUI.MenuDragMouseHandler): Likewise.
(BasicMenuUI.MenuKeyHandler): Likewise.
2004-06-10 David Jee <djee@redhat.com>
* java/awt/MediaTracker.java
(imageUpdate): Only do notifyAll() if the image is complete.
2004-06-10 Olga Rodimina <rodimina@redhat.com>
* javax/swing/JApplet.java:
(getJMenuBar): Made public.
(setJMenuBar): Likewise.
* javax/swing/JFrame.java:
(getJMenuBar): Made public.
(setJMenuBar): Likewise.
* javax/swing/JWindow.java:
(getJMenuBar): Removed.
(setJMenuBar): Removed.
2004-06-10 Michael Koch <konqueror@gmx.de>
* javax/swing/JEditorPane.java
(createEditorKitForContentType): Fixed visibility.
(fireHyperlinkUpdate): Likewise.
(getContentType): Likewise.
(getEditorKit): Likewise.
(getEditorKitForContentType): Likewise.
(getPage): Likewise.
(read): Likewise.
(registerEditorKitForContentTyoe): Likewise.
(replaceSelection): Likewise.
(setContentType): Likewise.
(setEditorKit): Likewise.
(setPage): Likewise.
2004-06-10 Michael Koch <konqueror@gmx.de>
* javax/swing/Timer.java
(Timer): New constructor.
* javax/swing/plaf/basic/BasicProgressBarUI.java
(animationTimer): Don't initialize at construction.
(startAnimationTimer): Added since tag.
(stopAnimationTimer): Likewise.
(installUI): Use new Timer constructor.
* javax/swing/plaf/basic/BasicScrollBarUI.java
(installUI): Likewise.
* javax/swing/plaf/basic/BasicSliderUI.java
(installUI): Likewise.
2004-06-10 Michael Koch <konqueror@gmx.de>
* javax/swing/ButtonGroup.java
(serialVersionUID): Made private.
(buttons): Renamed from v, added javadoc.
(sel): Added javadoc.
(ButtonGroup): Likewise.
(add): Likewise.
(remove): Likewise.
(getElements): Likewise.
(getSelection): Likewise.
(setSelected): Likewise.
(isSelected): Likewise.
(getButtonCount): Likewise.
2004-06-10 Michael Koch <konqueror@gmx.de>
* javax/swing/ButtonGroup.java,
javax/swing/ImageIcon.java,
javax/swing/JEditorPane.java,
javax/swing/JRootPane.java,
javax/swing/JTextField.java,
javax/swing/LookAndFeel.java,
javax/swing/plaf/basic/BasicTextUI.java:
Reindented.
2004-06-10 Michael Koch <konqueror@gmx.de>
* javax/swing/text/Style.java: Added javadocs.
2004-06-10 Michael Koch <konqueror@gmx.de>
* javax/swing/JComponent.java
(fireVetoableChange): Removed redundant cast.
* javax/swing/JLabel.java
(getDisabledIcon): Save icon for next call.
2004-06-10 Michael Koch <konqueror@gmx.de>
* javax/swing/KeyStroke.java
(getKeyStroke(char,boolean)): Marked deprecated.
2004-06-10 Michael Koch <konqueror@gmx.de>
* javax/swing/DefaultCellEditor.java,
javax/swing/GrayFilter.java,
javax/swing/event/DocumentEvent.java,
javax/swing/text/JTextComponent.java,
javax/swing/text/MutableAttributeSet.java:
Reindented.
2004-06-10 Michael Koch <konqueror@gmx.de>
* javax/swing/plaf/BorderUIResource.java:
Added serialVersionUID all over.
2004-06-10 Sascha Brawer <brawer@dandelis.ch>
* javax/swing/undo/UndoManager.java: Re-written from scratch.
2004-06-10 Michael Koch <konqueror@gmx.de>
* javax/swing/table/DefaultTableCellRenderer.java
(noFocusBorder): Initialize directly.
2004-06-10 Michael Koch <konqueror@gmx.de>
* javax/swing/plaf/basic/BasicArrowButton.java
(setDirection): Use method argument.
2004-06-10 Michael Koch <konqueror@gmx.de>
* javax/swing/plaf/BorderUIResource.java,
javax/swing/plaf/ComponentUI.java,
javax/swing/undo/CompoundEdit.java,
javax/swing/undo/StateEdit.java:
Fixed javadocs all over.
2004-06-10 Michael Koch <konqueror@gmx.de>
* javax/swing/DefaultButtonModel.java
(ARMED): Made public final, fixed value.
(ENABLED): Likewise.
(PRESSED): Likewise.
(ROLLOVER): Likewise.
(SELECTED): Likewise.
(stateMask): Initialize directly.
(listenerList): Likewise.
(mnemonic): Likewise.
(fireStateChanged): Removed argument, use changeEvent as event.
All places where this method is called are fixed too.
(getActionCommant): Fixed javadoc.
(setGroup): Fixed javadoc.
(getGroup): New method.
2004-06-09 Olga Rodimina <rodimina@redhat.com>
* javax/swing/AbstractButton.java
(AbstractButton): Use init() to initialize the button.
(init): New Method. Initializes AbstractButton.
* javax/swing/JMenuItem.java: Documented.
(JMenuItem): Reimplemented.
(init): Implemented.
(setEnabled): Changed to call super.setEnabled()
(processMouseEvent): Reimplemented.
(fireMenuKeyPressed): Implemented.
(fireMenuKeyReleased): Implemented.
(fireMenuKeyTyped): Implemented.
(menuSelectionChanged): disarm the model if the menu item was
deselected.
* javax/swing/plaf/basic/BasicMenuItemUI.java:Documented.
(getPath): Change to use ArrayList instead of Vector.
(getPreferredSize): Renamed variable.
(paintMenuItem): Paint margin area of menu item.
(MouseInputHandler.mouseEntered): Set selection in MenuSelectionManager.
(MouseInputHandler.mouseReleased): Check if mouse was pressed inside
menu item's bounds before clearing the selection.
2004-06-09 David Jee <djee@redhat.com>
* gnu/java/awt/peer/gtk/GtkTextComponentPeer.java
(GtkTextComponentPeer): Set caret position to 0.
* java/awt/TextComponent.java
(setText): Set caret position to 0.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
(Java_gnu_java_awt_peer_gtk_GtkComponentPeer_addExposeFilter):
Handle GtkScrolledWindow separately. Fix signal handler blocking.
(Java_gnu_java_awt_peer_gtk_GtkComponentPeer_removeExposeFilter):
Likewise.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c
(Java_gnu_java_awt_peer_gtk_GtkTextAreaPeer_create): Make cursor
visible.
2004-06-09 Kim Ho <kho@redhat.com>
* Makefile.am: New files
* Makefile.in: Regenerated
* java/awt/Container.java
(getComponentAt): Removed.
* javax/swing/AbstractAction.java
(ENABLED_PROPERTY): New property.
(putValue): Fire PropertyChangeEvents.
(setEnabled): ditto.
(firePropertyChange): Javadoc and implement
convenience method.
* javax/swing/AbstractButton.java
(setAction): Don't create PropertyChangeListener
if new Action is null.
(setIcon): Don't set icon till after comparing
it.
(configurePropertiesFromAction): Check mnemonic
key before calling intValue().
(createActionPropertyChangeListener): Check
properties rather than bulk change.
* javax/swing/DefaultDesktopManager.java:
Implement.
* javax/swing/DesktopManager.java:
Jalopy and javadoc.
* javax/swing/JComponent.java
(fireVetoableChange): Implement.
(paintImmediately): Use root component.
* javax/swing/JDesktopPane.java: Implement
* javax/swing/JInternalFrame.java: Implement
* javax/swing/JLabel.java
(getDisabledIcon): Return grayscaled icon if
no disabled icon specified.
* javax/swing/JMenuBar.java
(getComponentAtIndex): Use getComponent
* javax/swing/JOptionPane.java
(getDesktopPaneForComponent): Use SwingUtilities'
getAncestorOfClass
(getFrameForComponent): ditto.
* javax/swing/JSplitPane.java
(remove): Use getComponent.
* javax/swing/SwingUtilities.java
(convertPoint): Implement.
* javax/swing/plaf/basic/BasicButtonUI.java
(paintButtonNormal): Check opaqueness before
filling background.
* javax/swing/plaf/basic/BasicDesktopIconUI.java:
Implement
* javax/swing/plaf/basic/BasicDesktopPaneUI.java:
Implement.
* javax/swing/plaf/basic/BasicInternalFrameTitlePane.java:
Implement.
* javax/swing/plaf/basic/BasicInternalFrameUI.java:
Implement.
* javax/swing/plaf/basic/BasicLookAndFeel.java:
Change InternalFrame and Desktop colors.
2004-06-09 David Jee <djee@redhat.com>
* java/awt/Container.java
(remove): Do not set component to invisible.
2004-06-09 Michael Koch <konqueror@gmx.de>
* javax/swing/tree/DefaultMutableTreeNode.java
(getLeafCount): Renamed enum to e.
2004-06-09 Michael Koch <konqueror@gmx.de>
* javax/swing/plaf/basic/BasicSplitPaneDivider.java
(positionForMouseEvent): Removed redundant semicolon.
(continueDrag): Use method arguments.
2004-06-09 Michael Koch <konqueror@gmx.de>
* javax/swing/border/TitledBorder.java,
javax/swing/filechooser/FileSystemView.java,
javax/swing/plaf/basic/BasicButtonListener.java,
javax/swing/plaf/basic/BasicGraphicsUtils.java,
javax/swing/plaf/basic/BasicLabelUI.java,
javax/swing/plaf/basic/BasicRadioButtonMenuItemUI.java,
javax/swing/plaf/basic/BasicScrollBarUI.java,
javax/swing/plaf/basic/BasicScrollPaneUI.java,
javax/swing/plaf/basic/BasicSliderUI.java,
javax/swing/plaf/basic/BasicTabbedPaneUI.java,
javax/swing/plaf/basic/BasicToggleButtonUI.java,
javax/swing/table/JTableHeader.java,
javax/swing/text/AbstractDocument.java,
javax/swing/text/DefaultCaret.java,
javax/swing/text/StyledEditorKit.java,
javax/swing/tree/DefaultTreeCellEditor.java:
Reworked import statements.
2004-06-08 Graydon Hoare <graydon@redhat.com>
* javax/swing/Box.java: Temporarily comment out code
broken due to visibility bug.
2004-06-09 Michael Koch <konqueror@gmx.de>
* javax/swing/ImageIcon.java
(ImageIcon): Added missing constructor.
2004-06-08 Michael Koch <konqueror@gmx.de>
* javax/swing/JToggleButton.java
(JToggleButton): New constructor.
(getAccessibleContext): Moved documentation into javadoc.
(getUIClassID): Likewise.
2004-06-08 Michael Koch <konqueror@gmx.de>
* javax/swing/AbstractButton.java
(getDisabledIcon): Create disabled icon if none exists yet.
2004-06-08 Michael Koch <konqueror@gmx.de>
* javax/swing/plaf/basic/BasicLookAndFeel.java
(initClassDefaults): Added FormattedTextFieldUI.
(loadResourceBundle): Renamed enum to e.
2004-06-08 Michael Koch <konqueror@gmx.de>
* javax/swing/plaf/basic/BasicButtonUI.java
(paintIcon): Simplified.
(paintText): Paint disabled button correctly.
2004-06-08 Michael Koch <konqueror@gmx.de>
* javax/swing/JComponent.java
(createToolTip): Use official JToolTip API.
2004-06-08 Michael Koch <konqueror@gmx.de>
* javax/swing/JToolTip.java
(JToolTip): No arguments in API.
(setTipText): New method.
2004-06-08 Michael Koch <konqueror@gmx.de>
* javax/swing/SwingUtilities.java
(isLeftMouseButton): New method.
(isMiddleMouseButton): New method.
(isRightMouseButton): New method.
2004-06-08 Michael Koch <konqueror@gmx.de>
* javax/swing/AbstractButton.java,
javax/swing/CellRendererPane.java,
javax/swing/JCheckBoxMenuItem.java,
javax/swing/JColorChooser.java,
javax/swing/JComboBox.java,
javax/swing/JComponent.java,
javax/swing/JDesktopPane.java,
javax/swing/JFileChooser.java,
javax/swing/JMenu.java,
javax/swing/JMenuItem.java,
javax/swing/JOptionPane.java,
javax/swing/JPasswordField.java,
javax/swing/JPopupMenu.java,
javax/swing/JProgressBar.java,
javax/swing/JRadioButtonMenuItem.java,
javax/swing/JScrollBar.java,
javax/swing/JSeparator.java,
javax/swing/JSlider.java,
javax/swing/JSplitPane.java,
javax/swing/JTabbedPane.java,
javax/swing/JTextField.java,
javax/swing/JToolBar.java,
javax/swing/text/JTextComponent.java:
Fixed all constructors of accessibility classes.
2004-06-08 Michael Koch <konqueror@gmx.de>
* javax/swing/ScrollPaneLayout.java: Renamed all memeber variables all
over.
2004-06-08 Michael Koch <konqueror@gmx.de>
* javax/swing/Box.java
(AccessibleBoxFiller): Extends AccessibleAWTComponent.
(AccessibleBoxFiller.serialVersionUID): New member variable.
* javax/swing/DefaultButtonModel.java
(stateMask): Made protected.
(listenerList): Likewise.
(changeEvent): Likewise.
(group): Likewise.
(mnemonic): Likewise.
(actionCommand): Likewise.
(getListeners): New method.
(getActionListeners): New method.
(getItemListeners): New method.
(getChangeListeners): New method.
(fireItemStateChanged): Simplified.
(fireActionPerformed): Simplified.
(fireStateChanged): Simplified.
* javax/swing/JFrame.java
(JFrame): Implements WindowContants.
(HIDE_ON_CLOSE): Removed.
(EXIT_ON_CLOSE): Removed.
(DISPOSE_ON_CLOSE): Removed.
(DO_NOTHING_ON_CLOSE): Removed.
(processWindowEvent): Exit with code 0.
(setDefaultCloseOperation): Do security check before setting value.
* javax/swing/JOptionPane.java
(message): Initialize only in constructor.
* javax/swing/JToolTip.java: Removed unused imports.
* javax/swing/JViewport.java
(serialVersionUID): New member variable.
(SIMPLE_SCROLL_MODE): Made final, fixed value.
(BLIT_SCROLL_MODE): Likewise.
(BACKINGSTORE_SCROLL_MODE): Likewise.
(scrollUnderway): Made protected.
(isViewSizeSet): Likewise.
* javax/swing/ListModel.java: Fixed javadoc.
* javax/swing/Popup.java: Likewise.
* javax/swing/RepaintManager.java
(paintDirtyRegions): Don't use internal classes of
java.util.AbstractMap.
* javax/swing/ScrollPaneConstants.java: Reindented.
* javax/swing/ScrollPaneLayout.java
(viewport): Made protected.
(verticalScrollBar): Made protected, renamed to vsb.
(horizontalScrollBar): Made protected, renamed to hsb.
(rowHeader): Made protected, renamed to rowHead.
(columnHeader): Made protected, renamed to colHead.
(lowerLeft): Made protected.
(lowerRight): Made protected.
(upperLeft): Made protected.
(upperRight): Made protected.
(verticalScrollBarPolicy): Made protected, renamed to vsbPolicy.
(horizontalScrollBarPolicy): Made protected, renamed to hsbPolicy.
2004-06-07 Bernd Schmidt <bernds@btinternet.com>
* java/awt/MediaTracker.java (imageUpdate): Only set status to
LOADING if flags has SOMEBITS set.
2004-06-07 Michael Koch <konqueror@gmx.de>
* javax/swing/AbstractButton.java: Reorganized imports.
* javax/swing/ActionMap.java: Likewise.
* javax/swing/DefaultButtonModel.java: Likewise.
* javax/swing/DefaultListModel.java: Likewise.
* javax/swing/ImageIcon.java: Likewise.
(serialVersionUID): New member variable.
* javax/swing/JComboBox.java: Reorganized imports.
* javax/swing/JComponent.java: Likewise.
(ui): Made protected.
(listenerList): Made protected.
(TOOL_TIP_TEXT_KEY): New constant.
(scrollRectToVisible): Removed redundant null check.
* javax/swing/JFrame.java: Reorganized imports.
* javax/swing/JInternalFrame.java: Reorganized imports.
* javax/swing/JProgressBar.java: Likewise.
* javax/swing/JRootPane.java: Likewise.
* javax/swing/JScrollBar.java: Likewise.
* javax/swing/JSeparator.java: Likewise.
* javax/swing/JSlider.java: Likewise.
* javax/swing/JTabbedPane.java: Likewise.
* javax/swing/JTextField.java: Likewise.
* javax/swing/JToolBar.java: Likewise.
* javax/swing/JTree.java: Likewise.
* javax/swing/JViewport.java: Likewise.
* javax/swing/JWindow.java: Likewise.
* javax/swing/KeyStroke.java: Likewise.
* javax/swing/LookAndFeel.java: Likewise.
* javax/swing/MenuSelectionManager.java: Likewise.
* javax/swing/SwingUtilities.java: Likewise.
* javax/swing/Timer.java: Likewise.
* javax/swing/DefaultBoundedRangeModel.java: Fixed javadoc.
* javax/swing/JList.java
(HORIZONTAL_WRAP): Made final, fixed value.
(VERTICAL): Likewise.
(VERTICAL_WRAP): Likewise.
2004-06-07 Michael Koch <konqueror@gmx.de>
* javax/swing/AbstractButton.java
(serialVersionUID): New member variable.
(AccessibleAbstractButton.serialVersionUID): Likewise.
(AbstractButton): Made public.
* javax/swing/Box.java
(AccessibleBox.serialVersionUID): New member variable.
(Filler.serialVersionUID): Likewise.
* javax/swing/DefaultListSelectionModel.java
(serialVersionUID): Likewise.
* javax/swing/JApplet.java
(serialVersionUID): Likewise.
* javax/swing/JCheckBox.java
(serialVersionUID): Likewise.
* javax/swing/JCheckBoxMenuItem.java
(serialVersionUID): Likewise.
(AccessibleJCheckBoxMenuItem.serialVersionUID): Likewise.
* javax/swing/JColorChooser.java
(serialVersionUID): Likewise.
(AccessibleJColorChooser.serialVersionUID): Likewise.
* javax/swing/JComponent.java
(serialVersionUID): Made private.
(AccessibleJComponent.serialVersionUID): New member variable.
* javax/swing/JDesktopPane.java
(serialVersionUID): Likewise.
* javax/swing/JDialog.java
(serialVersionUID): Likewise.
* javax/swing/JFormattedTextField.java
(serialVersionUID): Fixed value.
* javax/swing/JFrame.java
(serialVersionUID): New member variable.
(getDefaultCloseOpertation): Made public.
* javax/swing/JLayeredPane.java
(serialVersionUID): Likewise.
(LAYER_PROPERTY): Made final, fixed value.
(JLayeredPane): Made public.
* javax/swing/JMenu.java
(AccessibleJMenu.serialVersionUID): New member variable.
(WinListener.serialVersionUID): Likewise.
* javax/swing/JMenuBar.java
(serialVersionUID): Likewise.
(getComponentAtIndex): Added @deprecated tag.
* javax/swing/JMenuItem.java
(serialVersionUID): New member variable.
(AccessibleJMenuItem.serialVersionUID): Likewise.
* javax/swing/JOptionPane.java
(serialVersionUID): Likewise.
(AccessibleJOptionPane.serialVersionUID): Likewise.
* javax/swing/JPopupMenu.java
(serialVersionUID): Likewise.
(AccessibleJPopupMenu.serialVersionUID): Likewise.
(getPopupMenuListeners): New method.
(getComponentAtIndex): Added @deprecated tag.
* javax/swing/JProgressBar.java
(serialVersionUID): New member variable.
(AccessibleJProgressBar.serialVersionUID): Likewise.
* javax/swing/JRadioButton.java
(serialVersionUID): Likewise.
* javax/swing/JRadioButtonMenuItem.java
(serialVersionUID): Likewise.
(AccessibleJRadioButtonMenuItem.serialVersionUID): Likewise.
* javax/swing/JScrollBar.java
(serialVersionUID): Likewise.
(AccessibleJScrollBar.serialVersionUID): Likewise.
* javax/swing/JSeparator.java
(serialVersionUID): Likewise.
(AccessibleJSeparator.serialVersionUID): Likewise.
* javax/swing/JSlider.java: Fixed javadocs.
(AccessibleJSlider.serialVersionUID): New member variable.
* javax/swing/JSplitPane.java: Added copyright statement.
(serialVersionUID): New member variable.
(AccessibleJSplitPane.serialVersionUID): Likewise.
* javax/swing/JTabbedPane.java
(serialVersionUID): Likewise.
(AccessibleJTabbedPane.serialVersionUID): Likewise.
(ModelListener.serialVersionUID): Likewise.
(ModelListener.ModelListener): New constructor.
(SCROLL_TAB_LAYOUT): Made public final, fixed value.
(WRAP_TAB_LAYOUT): Likewise.
* javax/swing/JTable.java
(serialVersionUID): New member variable.
* javax/swing/JToggleButton.java
(serialVersionUID): Likewise.
(ToggleButtonModel): Made static.
(ToggleButtonModel.serialVersionUID): New member variable.
* javax/swing/JToolTip.java
(serialVersionUID): Likewise.
* javax/swing/JTree.java
(serialVersionUID): Likewise.
* javax/swing/JWindow.java
(serialVersionUID): Likewise.
* javax/swing/Timer.java
(serialVersionUID): Likewise.
2004-06-06 Michael Koch <konqueror@gmx.de>
* javax/swing/SwingConstants.java
(NEXT): New constant.
(PREVIOUS): Likewise.
* javax/swing/UIManager.java
(LookAndFeel): Made public.
(LookAndFeel.getClassName): Likewise.
(LookAndFeel.getName): Likewise.
2004-06-02 Olga Rodimina <rodimina@redhat.com>
* javax/swing/JCheckBoxMenuItem.java:
Removed CVS tags.
* javax/swing/JMenu.java: Likewise.
* javax/swing/JMenuBar.java: Likewise.
* javax/swing/JMenuItem.java: Likewise.
* javax/swing/JPopupMenu.java: Likewise.
* javax/swing/JRadioButtonMenuItem.java: Likewise.
* javax/swing/plaf/basic/BasicCheckBoxMenuItemUI.java:Likewise.
* javax/swing/plaf/basic/BasicMenuBarUI.java: Likewise.
* javax/swing/plaf/basic/BasicMenuItemUI.java: Likewise.
* javax/swing/plaf/basic/BasicMenuUI.java: Likewise.
* javax/swing/plaf/basic/BasicPopupMenuUI.java: Likewise.
* javax/swing/plaf/basic/BasicRadioButtonMenuItemUI.java: Likewise.
2004-05-31 Olga Rodimina <rodimina@redhat.com>
* javax/swing/plaf/basic/BasicMenuUI.java:
(MouseEntered): Do not call getPath() from MenuSelectionManager.
Call getPath() from super class instead.
2004-05-31 David Jee <djee@redhat.com>
* java/awt/Container.java
(remove): Set component visibility to false after removing it.
2004-05-27 Thomas Fitzsimmons <fitzsim@redhat.com>
* java/awt/Component.java (getForeground): Return SystemColor if
parent is null.
(getBackground): Likewise.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkListPeer.c
(item_highlighted): New function.
(connectSignals): Set item_highlighted as list's select
function.
* java/applet/Applet.java: Revert changes from 2004-04-29,
2004-03-15 and 2004-03-14.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c (drawString):
Divide baseline y coordinate by PANGO_SCALE, not DPI conversion
factor.
* gnu/java/awt/peer/gtk/GtkTextAreaPeer.java (create): Set
"Dialog" as the default font.
* gnu/java/awt/peer/gtk/GtkTextFieldPeer.java (create):
Likewise.
* java/awt/Component.java (getFont): Return "Dialog" font by
default.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkClasspathFontPeer.c:
Multiply size argument to pango_font_description_set_size by the
DPI conversion factor rather than by PANGO_SCALE.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontMetrics.c: Likewise.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c: Likewise.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c: Likewise.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c: Likewise.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c: Likewise.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c: Likewise.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkListPeer.c: Likewise.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c: Likewise.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c: Likewise.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c (drawString):
Divide baseline y coordinate by DPI conversion factor rather
than by PANGO_SCALE.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c
(area_prepared): Fix typo.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c
(gtkSetFont): Move gtk_bin_get_child inside GDK critical region.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c
(dpi_conversion_factor): New global variable.
(init_dpi_conversion_factor): New function to calculate and
track DPI conversion factor.
(dpi_changed_cb): New callback.
* jni/gtk-peer/gtkpeer.h (dpi_conversion_factor): Declare.
2004-05-27 David Jee <djee@redhat.com>
* gnu/java/awt/peer/gtk/GtkComponentPeer.java
(getGraphics): Return a new GdkGraphics instance.
* gnu/java/awt/peer/gtk/GtkContainerPeer.java
(getGraphics): Call super.getGraphics().
2004-05-26 Thomas Fitzsimmons <fitzsim@redhat.com>
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
(setNativeBounds): Clamp width and height values to >= 0.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
(find_fg_color_widget): Handle GtkOptionMenu specially.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c
(pre_event_handler): Only post configure events to visible
top-level windows.
2004-05-26 David Jee <djee@redhat.com>
* java/awt/BorderLayout.java
(layoutContainer): Fix size calculations.
2004-05-26 Thomas Fitzsimmons <fitzsim@redhat.com>
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
(window_wm_protocols_filter): Remove function.
(create): Remove filter that removes WM_TAKE_FOCUS client
messages.
From-SVN: r83324
Diffstat (limited to 'libjava/javax/swing/JPopupMenu.java')
-rw-r--r-- | libjava/javax/swing/JPopupMenu.java | 590 |
1 files changed, 328 insertions, 262 deletions
diff --git a/libjava/javax/swing/JPopupMenu.java b/libjava/javax/swing/JPopupMenu.java index 9f49303..54a820c 100644 --- a/libjava/javax/swing/JPopupMenu.java +++ b/libjava/javax/swing/JPopupMenu.java @@ -52,6 +52,7 @@ import java.awt.Point; import java.awt.Window; import java.awt.event.KeyEvent; import java.awt.event.MouseEvent; +import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.io.IOException; import java.io.ObjectInputStream; @@ -71,19 +72,54 @@ import javax.swing.plaf.PopupMenuUI; */ public class JPopupMenu extends JComponent implements Accessible, MenuElement { + private static final long serialVersionUID = -8336996630009646009L; + + /** name for the UI delegate for this menuItem. */ private static final String uiClassID = "PopupMenuUI"; - private static final Object defaultLWPopupEnabledKey = null; - private static boolean defaultLWPopupEnabled = true; + + /* indicates if popup's menu border should be painted*/ + private boolean borderPainted = true; + + /** Flag indicating whether lightweight, mediumweight or heavyweight popup + is used to display menu items. + + These are the possible cases: + + 1. if DefaultLightWeightPopupEnabled true + (i) use lightweight container if popup feets inside top-level window + (ii) only use heavyweight container (JWindow) if popup doesn't fit. + + 2. if DefaultLightWeightPopupEnabled false + (i) if popup fits, use awt.Panel (mediumWeight) + (ii) if popup doesn't fit, use JWindow (heavyWeight) + */ + private static boolean DefaultLightWeightPopupEnabled = true; + + /* Component that invokes popup menu. */ transient Component invoker; - private int locationX; - private int locationY; + + /* Label for this popup menu */ private String label; - private boolean paintBorder; + + /*Amount of space between menuItem's in JPopupMenu and JPopupMenu's border */ private Insets margin; + + /** Indicates whether ligthWeight container can be used to display popup + menu. This flag is the same as DefaultLightWeightPopupEnabled, but setting + this flag can change popup menu after creation of the object */ private boolean lightWeightPopupEnabled; + + /** SelectionModel that keeps track of menu selection. */ private SingleSelectionModel selectionModel; + + /* Popup that is used to display JPopupMenu */ private transient Popup popup; - private Point location; + + /* Location of the popup */ + private Point popupLocation; + + /* Bound Property indicating visibility of the popup menu*/ + public static final String VISIBLE_CHANGED_PROPERTY = "visible"; /** * Creates a new JPopupMenu object. @@ -91,15 +127,17 @@ public class JPopupMenu extends JComponent implements Accessible, MenuElement public JPopupMenu() { updateUI(); - - lightWeightPopupEnabled = defaultLWPopupEnabled; + + lightWeightPopupEnabled = DefaultLightWeightPopupEnabled; selectionModel = new DefaultSingleSelectionModel(); + + super.setVisible(false); } /** - * Creates a new JPopupMenu object. + * Creates a new JPopupMenu with specified label * - * @param label DOCUMENT ME! + * @param label Label for popup menu. */ public JPopupMenu(String label) { @@ -131,11 +169,11 @@ public class JPopupMenu extends JComponent implements Accessible, MenuElement } /** - * DOCUMENT ME! + * Adds given menu item to the popup menu * - * @param item DOCUMENT ME! + * @param item menu item to add to the popup menu * - * @return DOCUMENT ME! + * @return menu item that was added to the popup menu */ public JMenuItem add(JMenuItem item) { @@ -144,11 +182,12 @@ public class JPopupMenu extends JComponent implements Accessible, MenuElement } /** - * DOCUMENT ME! + * Constructs menu item with a specified label and adds it to + * popup menu * - * @param text DOCUMENT ME! + * @param text label for the menu item to be added * - * @return DOCUMENT ME! + * @return constructed menu item that was added to the popup menu */ public JMenuItem add(String text) { @@ -157,22 +196,27 @@ public class JPopupMenu extends JComponent implements Accessible, MenuElement } /** - * DOCUMENT ME! + * Constructs menu item associated with the specified action + * and adds it to the popup menu * - * @param action DOCUMENT ME! + * @param action Action for the new menu item * - * @return DOCUMENT ME! + * @return menu item that was added to the menu */ public JMenuItem add(Action action) { JMenuItem item = new JMenuItem(action); + + if (action != null) + action.addPropertyChangeListener(createActionChangeListener(item)); + return add(item); } /** - * DOCUMENT ME! + * Revomes component at the given index from the menu. * - * @param index DOCUMENT ME! + * @param index index of the component that will be removed in the menu */ public void remove(int index) { @@ -192,10 +236,11 @@ public class JPopupMenu extends JComponent implements Accessible, MenuElement } /** - * DOCUMENT ME! + * Create menu item associated with the given action + * and inserts it into the popup menu at the specified index * - * @param action DOCUMENT ME! - * @param index DOCUMENT ME! + * @param action Action for the new menu item + * @param index index in the popup menu at which to insert new menu item. */ public void insert(Action action, int index) { @@ -204,10 +249,11 @@ public class JPopupMenu extends JComponent implements Accessible, MenuElement } /** - * DOCUMENT ME! + * Insert given component to the popup menu at the + * specified index * - * @param component DOCUMENT ME! - * @param index DOCUMENT ME! + * @param component Component to insert + * @param index Index at which to insert given component */ public void insert(Component component, int index) { @@ -215,10 +261,10 @@ public class JPopupMenu extends JComponent implements Accessible, MenuElement constraints.fill = GridBagConstraints.HORIZONTAL; constraints.weightx = 100.0; constraints.weighty = 100.0; - + if (index == -1) - index = getComponents().length; - + index = getComponents().length; + constraints.gridy = index; super.add(component, constraints, index); @@ -237,41 +283,45 @@ public class JPopupMenu extends JComponent implements Accessible, MenuElement } /** - * DOCUMENT ME! + * Paints popup menu's border if borderPainted is true * - * @param graphics DOCUMENT ME! + * @param graphics graphics context used to paint this popup's menu border. */ - protected void paintBorder(Graphics graphics) + protected void borderPainted(Graphics graphics) { - if (paintBorder) + if (borderPainted) getBorder().paintBorder(this, graphics, 0, 0, getSize(null).width, getSize(null).height); } /** - * DOCUMENT ME! + * Returns flag indicating if newly created JPopupMenu will use + * heavyweight or lightweight container to display its menu items * - * @return DOCUMENT ME! + * @return true if JPopupMenu will use lightweight container to display + * menu items by default, and false otherwise. */ public static boolean getDefaultLightWeightPopupEnabled() { - return defaultLWPopupEnabled; + return DefaultLightWeightPopupEnabled; } /** - * DOCUMENT ME! + * Sets whether JPopupMenu should use ligthWeight container to + * display it menu items by default * - * @param enabled DOCUMENT ME! + * @param enabled true if JPopupMenu should use lightweight container + * for displaying its menu items, and false otherwise. */ public static void setDefaultLightWeightPopupEnabled(boolean enabled) { - defaultLWPopupEnabled = enabled; + DefaultLightWeightPopupEnabled = enabled; } /** - * DOCUMENT ME! + * This method returns the UI used to display the JPopupMenu. * - * @return DOCUMENT ME! + * @return The UI used to display the JPopupMenu. */ public PopupMenuUI getUI() { @@ -279,9 +329,10 @@ public class JPopupMenu extends JComponent implements Accessible, MenuElement } /** - * DOCUMENT ME! + * Set the "UI" property of the menu item, which is a look and feel class + * responsible for handling popupMenu's input events and painting it. * - * @param ui DOCUMENT ME! + * @param ui The new "UI" property */ public void setUI(PopupMenuUI ui) { @@ -289,7 +340,8 @@ public class JPopupMenu extends JComponent implements Accessible, MenuElement } /** - * DOCUMENT ME! + * This method sets this menuItem's UI to the UIManager's default for the + * current look and feel. */ public void updateUI() { @@ -298,9 +350,10 @@ public class JPopupMenu extends JComponent implements Accessible, MenuElement } /** - * DOCUMENT ME! + * This method returns a name to identify which look and feel class will be + * the UI delegate for the menuItem. * - * @return DOCUMENT ME! + * @return The Look and Feel classID. "PopupMenuUI" */ public String getUIClassID() { @@ -308,9 +361,10 @@ public class JPopupMenu extends JComponent implements Accessible, MenuElement } /** - * DOCUMENT ME! + * Returns selectionModel used by this popup menu to keep + * track of the selection. * - * @return DOCUMENT ME! + * @return popup menu's selection model */ public SingleSelectionModel getSelectionModel() { @@ -318,9 +372,9 @@ public class JPopupMenu extends JComponent implements Accessible, MenuElement } /** - * DOCUMENT ME! + * Sets selection model for this popup menu * - * @param model DOCUMENT ME! + * @param model new selection model of this popup menu */ public void setSelectionModel(SingleSelectionModel model) { @@ -355,9 +409,11 @@ public class JPopupMenu extends JComponent implements Accessible, MenuElement } /** - * DOCUMENT ME! + * Returns true if this popup menu will display its menu item in + * a lightweight container and false otherwise. * - * @return DOCUMENT ME! + * @return true if this popup menu will display its menu items + * in a lightweight container and false otherwise. */ public boolean isLightWeightPopupEnabled() { @@ -375,9 +431,9 @@ public class JPopupMenu extends JComponent implements Accessible, MenuElement } /** - * DOCUMENT ME! + * Returns label for this popup menu * - * @return DOCUMENT ME! + * @return label for this popup menu */ public String getLabel() { @@ -385,9 +441,9 @@ public class JPopupMenu extends JComponent implements Accessible, MenuElement } /** - * DOCUMENT ME! + * Sets label for this popup menu * - * @param label DOCUMENT ME! + * @param label label for this popup menu */ public void setLabel(String label) { @@ -395,16 +451,19 @@ public class JPopupMenu extends JComponent implements Accessible, MenuElement } /** - * DOCUMENT ME! + * Adds separator to this popup menu */ public void addSeparator() { + // insert separator at the end of the list of menu items + this.insert(new Separator(), -1); } /** - * DOCUMENT ME! + * Adds popupMenuListener to listen for PopupMenuEvents fired + * by the JPopupMenu * - * @param listener DOCUMENT ME! + * @param listener PopupMenuListener to add to JPopupMenu */ public void addPopupMenuListener(PopupMenuListener listener) { @@ -412,9 +471,9 @@ public class JPopupMenu extends JComponent implements Accessible, MenuElement } /** - * DOCUMENT ME! + * Removes PopupMenuListener from JPopupMenu's list of listeners * - * @param listener DOCUMENT ME! + * @param listener PopupMenuListener which needs to be removed */ public void removePopupMenuListener(PopupMenuListener listener) { @@ -422,7 +481,19 @@ public class JPopupMenu extends JComponent implements Accessible, MenuElement } /** - * DOCUMENT ME! + * Returns array of PopupMenuListeners that are listening to JPopupMenu + * + * @return Array of PopupMenuListeners that are listening to JPopupMenu + */ + public PopupMenuListener[] getPopupMenuListeners() + { + return ((PopupMenuListener[]) listenerList.getListeners(PopupMenuListener.class)); + } + + /** + * This method calls popupMenuWillBecomeVisible() of popup menu's + * PopupMenuListeners. This method is invoked just before popup menu + * will appear on the screen. */ protected void firePopupMenuWillBecomeVisible() { @@ -433,7 +504,9 @@ public class JPopupMenu extends JComponent implements Accessible, MenuElement } /** - * DOCUMENT ME! + * This method calls popupMenuWillBecomeInvisible() of popup + * menu's PopupMenuListeners. This method is invoked just before popup + * menu will disappear from the screen */ protected void firePopupMenuWillBecomeInvisible() { @@ -444,7 +517,10 @@ public class JPopupMenu extends JComponent implements Accessible, MenuElement } /** - * DOCUMENT ME! + * This method calls popupMenuCanceled() of popup menu's PopupMenuListeners. + * This method is invoked just before popup menu is cancelled. This happens + * when popup menu is closed without selecting any of its menu items. This + * usually happens when the top-level window is resized or moved. */ protected void firePopupMenuCanceled() { @@ -455,16 +531,18 @@ public class JPopupMenu extends JComponent implements Accessible, MenuElement } /** - * DOCUMENT ME! + * This methods sets popup menu's size to its' preferred size. If the + * popup menu's size is previously set it will be ignored. */ public void pack() { + super.setSize(null); } /** - * DOCUMENT ME! + * Return visibility of the popup menu * - * @return DOCUMENT ME! + * @return true if popup menu is visible on the screen and false otherwise. */ public boolean isVisible() { @@ -472,90 +550,103 @@ public class JPopupMenu extends JComponent implements Accessible, MenuElement } /** - * DOCUMENT ME! + * Sets visibility property of this popup menu. If the property is + * set to true then popup menu will be dispayed and popup menu will + * hide itself if visible property is set to false. * - * @param visible DOCUMENT ME! + * @param visible true if popup menu will become visible and false otherwise. */ public void setVisible(boolean visible) { + boolean old = isVisible(); super.setVisible(visible); - - firePopupMenuWillBecomeVisible(); - - if (visible) + if (old != isVisible()) { - Container rootContainer = (Container) SwingUtilities.getRoot(invoker); + firePropertyChange(VISIBLE_CHANGED_PROPERTY, old, (boolean) isVisible()); + if (visible) + { + firePopupMenuWillBecomeVisible(); + Container rootContainer = (Container) SwingUtilities.getRoot(invoker); - boolean fit = true; - Dimension size; + boolean fit = true; + Dimension size; - // Determine the size of the popup menu - if (this.getSize().width == 0 && this.getSize().width == 0) - size = this.getPreferredSize(); + // Determine the size of the popup menu + if (this.getSize().width == 0 && this.getSize().width == 0) + size = this.getPreferredSize(); + else + size = this.getSize(); + if ((size.width > (rootContainer.getWidth() - popupLocation.x)) + || (size.height > (rootContainer.getHeight() - popupLocation.y))) + fit = false; + if (lightWeightPopupEnabled && fit) + popup = new LightWeightPopup(this); + else + { + if (fit) + popup = new MediumWeightPopup(this); + else + popup = new HeavyWeightPopup(this); + } + if (popup instanceof LightWeightPopup + || popup instanceof MediumWeightPopup) + { + JLayeredPane layeredPane; + layeredPane = SwingUtilities.getRootPane(invoker) + .getLayeredPane(); + Point p = new Point(popupLocation.x, popupLocation.y); + SwingUtilities.convertPointFromScreen(p, layeredPane); + popup.show(p.x, p.y, size.width, size.height); + } + else + { + // Subtract insets of the top-level container if popup menu's + // top-left corner is inside it. + if (rootContainer.contains(popupLocation)) + { + Insets insets = rootContainer.getInsets(); + popup.show(popupLocation.x - insets.left, + popupLocation.y - insets.top, size.width, + size.height); + } + + else + popup.show(popupLocation.x, popupLocation.y, size.width, + size.height); + } + } else - size = this.getSize(); + { + // popup menu was cancelled without selection + if (! getSelectionModel().isSelected()) + firePopupMenuCanceled(); - if ((size.width > (rootContainer.getWidth() - locationX)) - || (size.height > (rootContainer.getHeight() - locationY))) - fit = false; + firePopupMenuWillBecomeInvisible(); - if (lightWeightPopupEnabled && fit) - popup = new LightWeightPopup(this); - else - { - if (fit) - popup = new MediumWeightPopup(this); - else - popup = new HeavyWeightPopup(this); + popup.hide(); } - - if (popup instanceof LightWeightPopup - || popup instanceof MediumWeightPopup) - { - JLayeredPane layeredPane; - layeredPane = SwingUtilities.getRootPane(invoker).getLayeredPane(); - Point lp = layeredPane.getLocationOnScreen(); - Point r = SwingUtilities.getRoot(invoker).getLocationOnScreen(); - int px = locationX - (lp.x - r.x); - int py = locationY - (lp.y - r.y); - popup.show(px, py, size.width, size.height); - } - else - popup.show(locationX, locationY, size.width, size.height); - } - else - { - firePopupMenuWillBecomeInvisible(); - popup.hide(); } } /** - * DOCUMENT ME! + * Sets location of the popup menu. * - * @param x DOCUMENT ME! - * @param y DOCUMENT ME! + * @param x X coordinate of the popup menu's location + * @param y Y coordinate of the popup menu's location */ public void setLocation(int x, int y) { - locationX = x; - locationY = y; - } + if (popupLocation == null) + popupLocation = new Point(); - /** - * DOCUMENT ME! - * - * @return DOCUMENT ME! - */ - private boolean isPopupMenu() - { - return true; + popupLocation.x = x; + popupLocation.y = y; } /** - * DOCUMENT ME! + * Returns popup menu's invoker. * - * @return DOCUMENT ME! + * @return popup menu's invoker */ public Component getInvoker() { @@ -563,9 +654,9 @@ public class JPopupMenu extends JComponent implements Accessible, MenuElement } /** - * DOCUMENT ME! + * Sets popup menu's invoker. * - * @param component DOCUMENT ME! + * @param component The new invoker of this popup menu */ public void setInvoker(Component component) { @@ -573,43 +664,31 @@ public class JPopupMenu extends JComponent implements Accessible, MenuElement } /** - * DOCUMENT ME! + * This method displays JPopupMenu on the screen at the specified + * location. Note that x and y coordinates given to this method + * should be expressed in terms of the popup menus' invoker. * - * @param component DOCUMENT ME! - * @param x DOCUMENT ME! - * @param y DOCUMENT ME! + * @param component Invoker for this popup menu + * @param x x-coordinate of the popup menu relative to the specified invoker + * @param y y-coordiate of the popup menu relative to the specified invoker */ public void show(Component component, int x, int y) { setInvoker(component); - - Point rootOnScreen; - rootOnScreen = SwingUtilities.getRoot(invoker).getLocationOnScreen(); - Point invokerOnScreen = invoker.getLocationOnScreen(); - - int popupX = (invokerOnScreen.x - rootOnScreen.x) + x; - int popupY = (invokerOnScreen.y - rootOnScreen.y) + y; - - setLocation(popupX , popupY); + Point p = new Point(x, y); + SwingUtilities.convertPointToScreen(p, component); + setLocation(p.x, p.y); setVisible(true); } /** - * DOCUMENT ME! + * Returns component located at the specified index in the popup menu * - * @return DOCUMENT ME! - */ - JPopupMenu getRootPopupMenu() - { - return null; - } - - /** - * DOCUMENT ME! + * @param index index of the component to return * - * @param index DOCUMENT ME! + * @return component located at the specified index in the popup menu * - * @return DOCUMENT ME! + * @deprecated Replaced by getComponent(int) */ public Component getComponentAtIndex(int index) { @@ -617,11 +696,11 @@ public class JPopupMenu extends JComponent implements Accessible, MenuElement } /** - * DOCUMENT ME! + * Returns index of the specified component in the popup menu * - * @param component DOCUMENT ME! + * @param component Component to look for * - * @return DOCUMENT ME! + * @return index of the specified component in the popup menu */ public int getComponentIndex(Component component) { @@ -637,9 +716,9 @@ public class JPopupMenu extends JComponent implements Accessible, MenuElement } /** - * DOCUMENT ME! + * Sets size of the popup * - * @param size DOCUMENT ME! + * @param size Dimensions representing new size of the popup menu */ public void setPopupSize(Dimension size) { @@ -647,20 +726,20 @@ public class JPopupMenu extends JComponent implements Accessible, MenuElement } /** - * DOCUMENT ME! + * Sets size of the popup menu * - * @param x DOCUMENT ME! - * @param y DOCUMENT ME! + * @param width width for the new size + * @param height height for the new size */ - public void setPopupSize(int x, int y) + public void setPopupSize(int width, int height) { - super.setSize(x, y); + super.setSize(width, height); } /** - * DOCUMENT ME! + * Selects specified component in this popup menu. * - * @param selected DOCUMENT ME! + * @param selected component to select */ public void setSelected(Component selected) { @@ -669,29 +748,30 @@ public class JPopupMenu extends JComponent implements Accessible, MenuElement } /** - * DOCUMENT ME! + * Checks if this popup menu paints its border. * - * @return DOCUMENT ME! + * @return true if this popup menu paints its border and false otherwise. */ public boolean isBorderPainted() { - return paintBorder; + return borderPainted; } /** - * DOCUMENT ME! + * Sets if the border of the popup menu should be + * painter or not. * - * @param painted DOCUMENT ME! + * @param painted true if the border should be painted and false otherwise */ public void setBorderPainted(boolean painted) { - paintBorder = painted; + borderPainted = painted; } /** - * DOCUMENT ME! + * Returns margin for this popup menu. * - * @return DOCUMENT ME! + * @return margin for this popup menu. */ public Insets getMargin() { @@ -699,9 +779,10 @@ public class JPopupMenu extends JComponent implements Accessible, MenuElement } /** - * DOCUMENT ME! + * A string that describes this JPopupMenu. Normally only used + * for debugging. * - * @return DOCUMENT ME! + * @return A string describing this JMenuItem */ protected String paramString() { @@ -709,12 +790,12 @@ public class JPopupMenu extends JComponent implements Accessible, MenuElement } /** - * DOCUMENT ME! - * - * @param event DOCUMENT ME! - * @param path DOCUMENT ME! - * @param manager DOCUMENT ME! - */ + * Process mouse events forwarded from MenuSelectionManager. + * + * @param event event forwarded from MenuSelectionManager + * @param path path to the menu element from which event was generated + * @param manager MenuSelectionManager for the current menu hierarchy + */ public void processMouseEvent(MouseEvent event, MenuElement[] path, MenuSelectionManager manager) { @@ -733,18 +814,20 @@ public class JPopupMenu extends JComponent implements Accessible, MenuElement } /** - * DOCUMENT ME! + * Method of MenuElement Interface. It is invoked when + * popupMenu's selection has changed * - * @param changed DOCUMENT ME! + * @param changed true if this popupMenu is part of current menu + * hierarchy and false otherwise. */ public void menuSelectionChanged(boolean changed) { } /** - * DOCUMENT ME! + * Return subcomonents of this popup menu. * - * @return DOCUMENT ME! + * @return Array containing menuItem's of belonging to this popup menu. */ public MenuElement[] getSubElements() { @@ -758,9 +841,9 @@ public class JPopupMenu extends JComponent implements Accessible, MenuElement } /** - * DOCUMENT ME! + * Method of the MenuElement interface. Returns reference to itself. * - * @return DOCUMENT ME! + * @return Returns reference to itself */ public Component getComponent() { @@ -768,16 +851,16 @@ public class JPopupMenu extends JComponent implements Accessible, MenuElement } /** - * DOCUMENT ME! + * Checks if observing mouse event should trigger popup + * menu to show on the screen. * - * @param event DOCUMENT ME! + * @param event MouseEvent to check * - * @return DOCUMENT ME! + * @return true if the observing mouse event is popup trigger and false otherwise */ public boolean isPopupTrigger(MouseEvent event) { - return ((PopupMenuUI)getUI()).isPopupTrigger(event); - + return ((PopupMenuUI) getUI()).isPopupTrigger(event); } /** @@ -788,98 +871,103 @@ public class JPopupMenu extends JComponent implements Accessible, MenuElement public AccessibleContext getAccessibleContext() { if (accessibleContext == null) - accessibleContext = new AccessibleJPopupMenu(this); + accessibleContext = new AccessibleJPopupMenu(); return accessibleContext; } /** - * DOCUMENT ME! + * This interface is used to display menu items of the JPopupMenu */ private interface Popup { /** - * DOCUMENT ME! + * Displays container on the screen * - * @param x DOCUMENT ME! - * @param y DOCUMENT ME! - * @param width DOCUMENT ME! - * @param height DOCUMENT ME! + * @param x x-coordinate of popup menu's location on the screen + * @param y y-coordinate of popup menu's location on the screen + * @param width width of the container that is used to display menu + * item's for popup menu + * @param height height of the container that is used to display menu + * item's for popup menu */ void show(int x, int y, int width, int height); /** - * DOCUMENT ME! + * Hides container used to display popup menu item's from the screen */ void hide(); } /** - * DOCUMENT ME! + * This class represents Popup menu that uses light weight container + * to display its contents. */ - private class LightWeightPopup extends JPanel implements Popup + private class LightWeightPopup extends Container implements Popup { /** - * Creates a new LightWeightPopup object. + * Creates a new LightWeightPopup menu * - * @param c DOCUMENT ME! + * @param c Container containing menu items */ + private Component c; + public LightWeightPopup(Container c) { - this.add(c); + this.c = c; } /** - * DOCUMENT ME! + * Displayes lightweight container with menu items to the screen * - * @param x DOCUMENT ME! - * @param y DOCUMENT ME! - * @param width DOCUMENT ME! - * @param height DOCUMENT ME! + * @param x x-coordinate of lightweight container on the screen + * @param y y-coordinate of lightweight container on the screen + * @param width width of the lightweight container + * @param height height of the lightweight container */ public void show(int x, int y, int width, int height) { JLayeredPane layeredPane; layeredPane = SwingUtilities.getRootPane(invoker).getLayeredPane(); - this.setBounds(x, y, width, height); - layeredPane.add(this, JLayeredPane.POPUP_LAYER, 0); + c.setBounds(x, y, width, height); + layeredPane.add(c, JLayeredPane.POPUP_LAYER, 0); } /** - * DOCUMENT ME! + * Hides lightweight container from the screen */ public void hide() { JLayeredPane layeredPane; layeredPane = SwingUtilities.getRootPane(invoker).getLayeredPane(); - int index = layeredPane.getIndexOf(this); + int index = layeredPane.getIndexOf(c); layeredPane.remove(index); } } /** - * DOCUMENT ME! + * MediumWeightPopup is an AWT Panel with JPopupMenu's menu items. + * It is used to display JPopupMenu's menu items on the screen */ private class MediumWeightPopup extends Panel implements Popup { - /** * Creates a new MediumWeightPopup object. * - * @param c DOCUMENT ME! + * @param c Container with JPopupMenu's menu items */ public MediumWeightPopup(Container c) { - this.add(c); + this.add(c); } /** - * DOCUMENT ME! + * Displays AWT Panel with its components on the screen * - * @param x DOCUMENT ME! - * @param y DOCUMENT ME! - * @param width DOCUMENT ME! - * @param heigth DOCUMENT ME! + * @param x x-coordinate of the upper-left corner of the panel's + * @param y y-coordinate of the upper-left corner of the panel's + * @param width width of the panel + * @param height height of the panel */ public void show(int x, int y, int width, int height) { @@ -890,26 +978,27 @@ public class JPopupMenu extends JComponent implements Accessible, MenuElement } /** - * DOCUMENT ME! + * Hides This panel from the screen */ public void hide() { JLayeredPane layeredPane; - layeredPane = SwingUtilities.getRootPane(invoker).getLayeredPane(); + layeredPane = SwingUtilities.getRootPane(invoker).getLayeredPane(); int index = layeredPane.getIndexOf(this); layeredPane.remove(index); } } /** - * DOCUMENT ME! + * HeavyWeightPopup is JWindow that is used to display JPopupMenu menu item's + * on the screen */ private class HeavyWeightPopup extends JWindow implements Popup { /** * Creates a new HeavyWeightPopup object. * - * @param c DOCUMENT ME! + * @param c Container containing menu items */ public HeavyWeightPopup(Container c) { @@ -917,12 +1006,12 @@ public class JPopupMenu extends JComponent implements Accessible, MenuElement } /** - * DOCUMENT ME! + * Displays JWindow container JPopupMenu's menu items to the screen * - * @param x DOCUMENT ME! - * @param y DOCUMENT ME! - * @param width DOCUMENT ME! - * @param height DOCUMENT ME! + * @param x x-coordinate of JWindow containing menu items + * @param y y-coordinate of JWindow containing menu items + * @param width width of the JWindow + * @param height height of the JWindow */ public void show(int x, int y, int width, int height) { @@ -931,57 +1020,34 @@ public class JPopupMenu extends JComponent implements Accessible, MenuElement } /** - * DOCUMENT ME! + * Hides JWindow with menu item's from the screen. */ public void hide() { - this.hide(); + super.hide(); } } - /** - * DOCUMENT ME! - */ public static class Separator extends JSeparator { - /** - * Creates a new Separator object. - */ public Separator() { } - /** - * DOCUMENT ME! - * - * @return DOCUMENT ME! - */ public String getUIClassID() { - return null; + return "PopupMenuSeparatorUI"; } } - /** - * DOCUMENT ME! - */ protected class AccessibleJPopupMenu extends AccessibleJComponent { - /** - * Creates a new AccessibleJPopupMenu object. - * - * @param component DOCUMENT ME! - */ - protected AccessibleJPopupMenu(JPopupMenu component) + private static final long serialVersionUID = 7423261328879849768L; + + protected AccessibleJPopupMenu() { - super(component); } - /** - * DOCUMENT ME! - * - * @return DOCUMENT ME! - */ public AccessibleRole getAccessibleRole() { return AccessibleRole.POPUP_MENU; |