mirror of
https://github.com/gcc-mirror/gcc.git
synced 2026-05-06 23:25:24 +02:00
[multiple changes]
2004-08-31 Michael Koch <konqueror@gmx.de> * javax/swing/plaf/basic/BasicTextAreaUI.java (create): New method. * javax/swing/text/DefaultHighlighter.java (DefaultHighlightPainter.debugRect): Removed. * javax/swing/text/StyleContext.java (DEFAULT_STYLE): New field. 2004-08-31 Michael Koch <konqueror@gmx.de> * javax/swing/plaf/basic/BasicLookAndFeel.java (initComponentDefaults): Add keybindings for selection.backward and selection-forward for text components. * javax/swing/plaf/basic/BasicTextUI.java (paintSafely): Paint highlight only when something is actually selected. * javax/swing/text/DefaultCaret.java (handleHighlight): New method. (setSelectionVisible): Don't do anything when nothing changes. Handle highlight. (moveDot): Reimplemented. Handle highlight. (setDot): Set mark too. Handle highlight. (getSelectionPainter): New method. * javax/swing/text/DefaultEditorKit.java (defaultActions): Added new actions for text selection. * javax/swing/text/DefaultHighlighter.java (DefaultHighlightPainter): New inner class. (DefaultPainter): New field. (paint): Implemented. * javax/swing/text/PlainView.java (paint): Don't draw background here again. * javax/swing/text/Utilities.java (getTabbedTextWidth): Use width of ' ' instead of 'm' for tabsize. (drawTabbedText): Likewise. 2004-08-31 Graydon Hoare <graydon@redhat.com> * javax/swing/JComponent.java (resetKeyboardActions): Add null checks. 2004-08-31 Graydon Hoare <graydon@redhat.com> * javax/swing/DefaultButtonModel.java: Skip group notification when no group is set. 2004-08-31 Graydon Hoare <graydon@redhat.com> * javax/swing/JColorChooser.java: Make a couple inner classes static, for jikes. 2004-08-31 Michael Koch <konqueror@gmx.de> * javax/swing/plaf/basic/BasicTextUI.java (RottView.modelToView): New method. (UpdateHandler): Renamed from EventHandler. (updateHandler): Renamed from eventHandler. (modelToView): Implemented. * javax/swing/text/AbstractDocument.java (BranchElement.getElement): Return null for non-existing indeces. (BranchElement.getElementIndex): Return 0 in some corner cases. * javax/swing/text/FieldView.java (modelToView): New method. * javax/swing/text/PlainView.java (modelToView): Made public. 2004-08-31 Kim Ho <kho@redhat.com> * Makefile.am: New files. * Makefile.in: Regenerate. * gcj/Makefile.in: Regenerate. * include/Makefile.in: Regenerate. * java/awt/Color.java: Fix documentation. (RGBtoHSB): Use floats for conversions. * javax/swing/ButtonGroup.java: Run Jalopy. (setSelected): Reimplement. * javax/swing/DefaultButtonModel.java: Run Jalopy. (changeState): Let ButtonGroup know that the button is changing state. * javax/swing/JColorChooser.java: Implement. * javax/swing/JLabel.java: Run Jalopy. * javax/swing/JSpinner.java: Run Jalopy. (setValue): New method. * javax/swing/JTabbedPane.java: Run Jalopy. (removeTabAt): Call correct remove method. * javax/swing/SpinnerNumberModel.java: Run Jalopy. (getPreviousValue): Compare minimum value. * javax/swing/Timer.java: Run Jalopy. (run): Comment out println. * javax/swing/ToolTipManager.java: (mouseMoved): Get new tooltip text for location. * javax/swing/colorchooser/AbstractColorChooserPanel.java: Jalopy and Javadoc. * javax/swing/colorchooser/ColorChooserComponentFactory.java: Implement. * javax/swing/colorchooser/DefaultColorSelectionModel.java: Run Jalopy. (setSelectedColor): Fire ChangeEvent. * javax/swing/colorchooser/DefaultHSBChooserPanel.java: New file. Implement. * javax/swing/colorchooser/DefaultPreviewPanel.java: Ditto. * javax/swing/colorchooser/DefaultRGBChooserPanel.java: Ditto. * javax/swing/colorchooser/DefaultSwatchChooserPanel.java: Ditto. * javax/swing/plaf/basic/BasicArrowButton.java: (getArrow): Fix size of upward pointing button. * javax/swing/plaf/basic/BasicColorChooserUI.java: Implement. * javax/swing/plaf/basic/BasicSliderUI.java: (getWidthOfWidestLabel): Use preferred dimensions. (getHeightOfTallestLabel): Ditto. * javax/swing/plaf/basic/BasicSpinnerUI.java: Run Jalopy. (mousePressed): Disable changes to spinner if it is not enabled. * testsuite/Makefile.in: Regenerate. 2004-08-31 Michael Koch <konqueror@gmx.de> * javax/swing/plaf/basic/BasicTableHeaderUI.java, javax/swing/plaf/basic/BasicTableUI.java: Added copyright notice. 2004-08-31 Olga Rodimina <rodimina@redhat.com> * Makefile.am: Added new files. * Makefile.in: Regenerate. * javax/swing/ComboBoxEditor.java: Added javadocs. * javax/swing/ComboBoxModel.java: Likewise. * javax/swing/DefaultComboBoxModel.java: Implemented. * javax/swing/DefaultListCellRenderer.java: Added javadocs and ran through jalopy to fix formatting style. (getListCellRendererComponent): Use appropriate border if renderer has focus and use noFocusBorder when it doesn't. * javax/swing/JComboBox.java: Implemented. * javax/swing/JList.java: (locationToIndex): New Method. Implemented. (indexToLocation): New Method. * javax/swing/JPopupMenu.java: (visible): New field. (isVisible): Changed to use new field above. (setVisible): Likewise. * javax/swing/MutableComboBoxModel.java: Added javadocs. * javax/swing/plaf/basic/BasicArrowButton.java: (shadow): Changed default color to Color.gray. * javax/swing/plaf/basic/BasicComboBoxUI.java: New File. UI delegate for JComboBox. * javax/swing/plaf/basic/BasicComboPopup.java: New File. Popup menu containing list of JComboBox's items. * javax/swing/plaf/basic/BasicComboBoxEditor.java: New File. * javax/swing/plaf/basic/BasicComboBoxRenderer.java: New File. * javax/swing/plaf/basic/BasicComboBoxUI.java: New File. * javax/swing/plaf/basic/BasicComboPopup.java: New File. * javax/swing/plaf/basic/BasicPopupMenuUI.java: (popupMenuWillBecomeVisible): Set selected path to the first element only if it is of type MenuElement. Also fix formatting style. * javax/swing/plaf/basic/ComboPopup.java: Added javadocs and missing methods signatures. 2004-08-31 Michael Koch <konqueror@gmx.de> * javax/swing/text/AbstractDocument.java (createBranchElement): Use new constructor of BranchElement. (createLeafElement): Renamed arguments. (getRootElements): Implemented. (BranchElement.start): Removed. (BranchElement.end): Likewise. (BranchElement.BranchElement): Fixed arguments. (BranchElement.getEndOffset): Reimplemented. (BranchElement.getStartOffset): Likewis. * javax/swing/text/DefaultCaret.java (paint): Draw simple vertical line as caret instead of a rectangle. * javax/swing/text/JTextComponent.java (setText): Use doc directly. * javax/swing/text/PlainView.java (nextTabStop): Implemented. * javax/swing/text/Utilities.java (drawTabbedText): nextTabStop() returns an absolute x position. (getTabbedTextWidth): Likewise. 2004-08-31 Graydon Hoare <graydon@redhat.com> * java/awt/Component.java (isFocusTraversable): Predicate on isLightweight() (setFocusable): Set isFocusTraversableOverridden. (requestFocus): Predicate peer dispatch on !isLightweight() (requestFocusInWindow): Likewise. (dispatchEventImpl): Coordinate with KeyboardFocusManager. * java/awt/Container.java (dispatchEventImpl): Predicate on event mask. (LightweightDispatcher): Remove focus machinery. * java/awt/DefaultFocusTraversalPolicy.java (accept): Expand predicate to include isFocusable(). * java/awt/DefaultKeyboardFocusManager.java: Globally change c.dispatchEvent(e) to redispatchEvent(c,e) * java/awt/KeyboardFocusManager.java (redispatchEvent): Synchronize on event to prevent feedback. * javax/swing/AbstractButton.java (ButtonFocusListener): Remove class. (init): Set focusPainted, focusable. * javax/swing/ActionMap.java (get): Check parent for null. * javax/swing/InputMap.java (get): Likewise. * javax/swing/JComponent.java (inputMap_whenFocused): New InputMap. (inputMap_whenAncestorOfFocused): Likewise. (inputMap_whenInFocusedWindow): Likewise. (getActionForKeyStroke): Rewrite. (getConditionForKeystroke): Likewise. (ActionListenerProxy): New private class. (setInputMap): Implement. (getInputMap): Likewise. (setActionMap): Likewise. (getActionMap): Likewise. (processComponentKeyEvent): New empty method. (processKeyEvent): Implement. (processKeyBinding): Likewise. (resetKeyboardActions): Rewrite. * javax/swing/KeyStroke.java: Rewrite. * javax/swing/SwingUtilities.java (notifyAction): Implement. (replaceUIActionMap): Likewise. (replaceUIInputMap): Likewise. * javax/swing/plaf/basic/BasicButtonListener.java (focusGained): Implement. (focusLost): Repaint if focusPainted(). (installKeyboardActions): Install pressed / released actions. (uninstallKeyboardActions): Implement. * javax/swing/plaf/basic/BasicButtonUI.java (focusColor): New field. (installDefaults): Load focus color, install input map. (installKeyboardActions): Implement. (uninstallKeyboardActions): Likewise. (paintFocus): Rewrite. * javax/swing/plaf/basic/BasicLookAndFeel.java (Button.focus): New default, midPurple. * javax/swing/plaf/basic/BasicTextUI.java (kit): Make static. (installUI): Get doc from kit, load defaults. (getKeymapName): Implement. (createKeymap): Likewise. (installKeyboardActions): Likewise. (getInputMap): Likewise. (getActionMap): Likewise. (createActionMap): Likewise. * javax/swing/text/AbstractDocument.java (getStartPosition): Implement. (getEndPosition): Likewise. * javax/swing/text/DefaultEditorKit.java (CopyAction): New class. (CutAction): Likewise. (DefaultKeyTypedAction): Likewise. (InsertBreakAction): Likewise. (InsertContentAction): Likewise. (InsertTabAction): Likewise. (PasteAction): Likewise. (defaultActions): New static table. (createCaret): Implement. (getActions): Likewise. * javax/swing/text/JTextComponent.java (KeymapWrapper): New private class. (KeymapActionMap): Likewise. (DefaultKeymap): New class. (keymaps): New static table. (keymap): New field. (getKeymap): Implement. (removeKeymap): Likewise. (addKeymap): Likewise. (setKeymap): Likewise. (loadKeymap): Likewise. (getActions): Likewise. (margin): New field. (JTextComponent): Build and install default keymap. * javax/swing/text/TextAction.java (textAction): Call super properly. (getTextComponent): Implement. * javax/swing/text/Utilities.java (drawTabbedText): Adjust position by ascent. 2004-08-31 David Jee <djee@redhat.com> PR AWT/17156 * gnu/java/awt/peer/gtk/GtkMenuItemPeer.java (setEnabled): Make it a native method. * java/awt/DefaultKeyboardFocusManager.java (postProcessKeyEvent): Only post event if the menu item is active. * java/awt/MenuItem.java: Private field 'enabled' should be true by default. * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuItemPeer.c (setEnabled): New function. 2004-08-31 David Jee <djee@redhat.com> PR AWT/17059 * gnu/java/awt/peer/gtk/GtkMenuBarPeer.java (nativeSetHelpMenu): New native method declaration. (addHelpMenu): Call nativeSetHelpMenu(). (addMenu): Remove. * java/awt/MenuBar.java (setHelpMenu): Call addNotify() on the new help menu. (add): Call addNotify() on the new menu. (addNotify): Set the help menu if one exists. * java/awt/peer/MenuBarPeer.java (addMenu): Remove. * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuBarPeer.c (nativeSetHelpMenu): New method. 2004-08-31 Graydon Hoare <graydon@redhat.com> * Makefile.am: Add new files. * Makefile.in: Regenerate. * javax/swing/Box.java: Fix setting of layout in ctor. * javax/swing/JScrollPane.java: Scroll headers as well. * javax/swing/JTable.java: Reimplement. * javax/swing/JViewPort.java: Only add non-null children. * javax/swing/ScrollPaneLayout.java: Correct header calculations. * javax/swing/Timer.java: Fix stopping null waker. * javax/swing/plaf/basic/BasicTableHeaderUI.java: New file. * javax/swing/plaf/basic/BasicTableUI.java: New file. * javax/swing/table/DefaultTableCellRenderer.java: Configure. * javax/swing/table/DefaultTableColumnModel.java: Flesh out. * javax/swing/table/DefaultTableModel.java: Clean up. * javax/swing/table/JTableHeader.java: Implement. 2004-08-31 Mark Wielaard <mark@klomp.org> * javax/swing/JSpinner.java (getChangeListeners): Remove double semi-colon. 2004-08-31 Mark Wielaard <mark@klomp.org> * jni/gtk-peer/gnu_java_awt_peer_gtk_GdkClasspathFontPeerMetrics.c: Declare variables at top of functions/block. * jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c: Likewise. 2004-08-31 Mark Wielaard <mark@klomp.org> * java/lang/Rectangle.java (intersects): Check r.width and r.height first. 2004-08-31 Michael Koch <konqueror@gmx.de> * javax/swing/text/PlainView.java (selectedColor): New field. (unselectedColor): Likewise. (font): Likewise. (updateMetrics): New method. (lineToRect): Likewise. (modelToView): Likewise. (drawSelectedText): Use color from JTextComponent ad draw with Utilities class. (drawUnselectedText): Likewise. (paint): Initialize helper fields. * javax/swing/text/View.java (getChildAllocation): New method. (getViewIndex): Likewise. (getToolTipText): Likewise. 2004-08-31 Michael Koch <konqueror@gmx.de> * javax/swing/text/Utilities.java (drawTabbedText): Reimplemented. (getTabbedTextWidth): Likewise. 2004-08-31 Michael Koch <konqueror@gmx.de> * javax/swing/plaf/basic/BasicTextUI.java (installDefaults): Install caret and highlighter. (modelToView): Use Bias.Forward when calling sibling. * javax/swing/text/AbstractDocument.java (ElementEdit): Implements DocumentEvent.ElementChange. (ElementEdit.ElementEdit): New method. (ElementEdit.getChildrenAdded): Likewise. (ElementEdit.getChildrenRemoved): Likewise. (ElementEdit.getElement): Likewise. (ElementEdit.getIndex): Likewise. * javax/swing/text/DefaultCaret.java (color): Removed. (textComponent): Renamed from parent, made private. (selectionVisible): Renamed from vis_sel, made private. (blinkRate): Renamed from blink, made private. (magicCaretPosition): Renamed from magic, made private. (visible): Renamed from vis, made private. (dot): Made private. (mark): Likewise. (deinstall): Remove as MouseMotionListener. (install): Initialize textComponent first. Add as MouseMotionListener. (paint): Reimplemented. * javax/swing/text/JTextComponent.java (setCaret): Deinstall old caret, install new one and fire property change after setting property. (setHighlighter): Deinstall old highlighter, install new one and fire property change after setting property. (setCaretColor): Fire property change after setting property. (setDisabledTextColor): Likewise. (setSelectedTextColor): Likewise. (setSelectionColor): Likewise. (modelToView): New method. 2004-08-31 Michael Koch <konqueror@gmx.de> * javax/swing/text/AbstractDocument.java (getText): Simplified. * javax/swing/text/Segment.java (current): New field. (current): Reimplemented. (first): Likewise. (getIndex): Likewise. (last): Likewise. (next): Likewise. (previous): Likewise. (setIndex): Likewise. 2004-08-31 Michael Koch <konqueror@gmx.de> * javax/swing/plaf/basic/BasicButtonUI.java (defaultTextIconGap): Made protected. (defaultTextShiftOffset): Likewise. (textShiftOffset): New field. (clearTextShiftOffset): New method. (getTextShiftOffset): Likewise. (setTextShiftOffset): Likewise. 2004-08-31 Michael Koch <konqueror@gmx.de> * javax/swing/plaf/basic/BasicTextUI.java (installUI): Add eventHandler as property listener. (uninstallUI): remove eventHandler as propert listener. (installDefaults): Added comment. (installListeners): Likewise. (installKeyboardActions): Likewise. (uninstallDefaults): Likewise. (uninstallListeners): Likewise. (uninstallKeyboardActions): Likewise. 2004-08-31 Michael Koch <konqueror@gmx.de> * javax/swing/text/AbstractDocument.java: Fixed some typos in comments. (insertString): Reimplemented. (remove): Likewise. (replace): New method. (children): Dont use fully qualified class name. (DefaultDocumentEvent.offset): Renamed from off. (DefaultDocumentEvent.length): Renamed from len. (DefaultDocumentEvent.type): New field. (DefaultDocumentEvent.DefaultDocumentEvent): New constructor. (DefaultDocumentEvent.getType): Implemented. 2004-08-31 Michael Koch <konqueror@gmx.de> * javax/swing/plaf/basic/BasicTextUI.java (RootView.textComponent): Removed. (RootView.RootView): Don't initialize textComponent. (RootView.getViewFactory): New method. (EventHandler): New inner class. (rootView): Initialize at instance creation. (eventHandler): New field. (installUI): Don't create view hierarchy directly, call modelChanged() instead. (modelChanged): New method. * javax/swing/text/JTextComponent.java (setDocument): Fire property change event. 2004-08-31 Michael Koch <konqueror@gmx.de> * javax/swing/plaf/basic/BasicTextUI.java (RootView.paint): Removed debug output. (paintSafely): Draw highlighter before text. (paintBackground): Use background color of text component. * javax/swing/plaf/basic/BasicToggleButtonUI.java: Reformatted. 2004-08-31 Michael Koch <konqueror@gmx.de> * javax/swing/plaf/basic/BasicToolBarUI.java (BasicToolBarUI): Fixed arguments for constructor. (createUI): Fixed creation of object. 2004-08-31 Michael Koch <konqueror@gmx.de> * javax/swing/DefaultListSelectionModel.java (fireValueChanged): Renamed from fireSelectionValueChanged, made protected. 2004-08-31 Michael Koch <konqueror@gmx.de> * javax/swing/text/TabSet.java (TabSet): Implements java.io.Serializable. * javax/swing/text/TabStop.java (TabStop): Implements java.io.Serializable. (TabStop): Made public. 2004-08-31 Michael Koch <konqueror@gmx.de> * javax/swing/JComponent.java (setUI): Fire PropertyChange. * javax/swing/JLabel.java (text): Renamed from labelText. (horizontalAlignment): New default vlaue. (icon): Renamed from activeIcon. (displayedMnemonic): Renamed from mnemonicKey, added default value. (displayedMnemonicIndex): Renamed from underlineChar. (setDisplayedMnemonic): Reimplemented. * javax/swing/JRadioButton.java (JRadioButton): New constructors. * javax/swing/JTextField.java (JTextField): Throw exception if colums < 0, initialitialz this.columns directly and initialize document with text conditionally. 2004-08-31 Michael Koch <konqueror@gmx.de> * javax/swing/plaf/basic/BasicFormattedTextFieldUI.java, javax/swing/plaf/basic/BasicPasswordFieldUI.java, javax/swing/plaf/basic/BasicTextAreaUI.java: New files. * javax/swing/text/FieldView.java (paint): Just call super method for now. * Makefile.am: Added new files. * Makefile.in: Regenerated. 2004-08-31 Ka-Hing Cheung <kahing@javabsp.org> * javax/swing/AbstractSpinnerModel.java, javax/swing/JSpinner.java, javax/swing/SpinnerNumberModel.java, javax/swing/plaf/basic/BasicSpinnerUI.java: New files. * javax/swing/plaf/basic/BasicLookAndFeel.java (initClassDefaults): Added defaults for BasicSpinnerUI. 2004-08-31 Michael Koch <konqueror@gmx.de> * Makefile.am: Added new files. * Makefile.in: Regenerated. 2004-08-31 Michael Koch <konqueror@gmx.de> * javax/swing/TransferHandler.java, javax/swing/plaf/basic/ComboPopup.java: New files * Makefile.am: Added javax/swing/TransferHandler.java and javax/swing/plaf/basic/ComboPopup.java * Makefile.in: Regenerated. 2004-08-31 Roman Kennke <roman@ontographics.com> * javax/swing/text/Utilities.java: New file. 2004-08-31 Michael Koch <konqueror@gmx.de> * Makefile.am: Added javax/swing/text/Utilities.java. * Makefile.in: Regenerated. 2004-08-31 Graydon Hoare <graydon@redhat.com> * javax/swing/text/SimpleAttributeSet.java: New file. * javax/swing/text/StyleConstants.java: New file. * javax/swing/text/StyleContext.java: New file. * javax/swing/text/TabSet.java: New file. * javax/swing/text/TabStop.java: New file. * javax/swing/text/AbstactDocument.java: (AbstractElement): Implement attribute support. * javax/swing/text/AttributeSet.java (NameAttribute): New static field. (ResolveAttribute): New static field. * Makefile.am: Update for new files. * Makefile.in: Regenerate. 2004-08-31 Craig Black <craig.black@aonix.com> * gnu/java/awt/peer/gtk/GdkGraphics.java (drawImage): Add support for scaling pixmaps. * jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c (copyAndScalePixmap): New native method. 2004-08-31 Thomas Fitzsimmons <fitzsim@redhat.com> PR AWT/16121 * jni/gtk-peer/gthread-jni.c: Include stdio.h. Eliminate type-punning compiler warnings using unions. (throw): Replace bzero with memset. 2004-08-31 Andreas Tobler <a.tobler@schweiz.ch> Thomas Fitzsimmons <fitzsim@redhat.com> * jni/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c: Move NSA_PB macros to gtkpeer.h. Include gtkpeer.h. * jni/gtk-peer/gtkpeer.h: Move NSA_PB macros here. * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c (nativeSetIconImageFromDecoder): Use NSA_GET_PB_PTR macro. 2004-08-31 Mark Wielaard <mark@klomp.org> * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c: #include gdk.h, not gtk.h. #include jni.h, native_state.h, string.h and stdlib.h, not gtkpeer.h. (*vm): New static variable. (areaPreparedID): Make static. (areaUpdatedID): Likewise. (area_prepared): Get and use JNIEnv through stored JavaVM *vm. (area_prepared): Likewise. (area_updated): Likewise. (closed): Likewise. (initStaticState): Initialize *vm javaVM. (pumpBytes): Use given env, not global gdk_env. 2004-08-31 Mark Wielaard <mark@klomp.org> * java/awt/geom/CubicCurve2D.java (solveCubic): Removed duplicate comments. 2004-08-31 Sven de Marothy <sven@physto.se> * java/awt/geom/CubicCurve2D.java: Reindent. (contains): Implemented. (intersects): Implemented. * java/awt/geom/QuadCurve2D.java: Likewise. * java/awt/geom/GeneralPath.java: Reindent and document. Fully (re)implemented using separate xpoints and ypoints float[] coords. * java/awt/geom/RoundRectangle2D.java: Several bugfixes (Bug #6007). 2004-08-31 Michael Koch <konqueror@gmx.de> * javax/swing/JMenuItem.java (getMenuDragMouseListeners): New method. (getMenuKeyListeners): Likewise. 2004-08-31 Michael Koch <konqueror@gmx.de> * javax/swing/AbstractButton.java (model): Made protected. (actionListener): Likewise. (changeListener): Likewise. (itemListener): Likewise. (multiClickThreshhold): New field. (getActionListeners): New method. (getChangeListeners): Likewise. (getItemListeners): Likewise. (fireItemStateChanged): Simplified implementation. (fireActionPerformed): Likewise. (fireStateChanged): Likewise. (getMultiClickThreshhold): New method. (setMultiClickThreshhold): Likewise. 2004-08-31 Tom Tromey <tromey@redhat.com> * java/awt/image/Kernel.java (clone): Use super.clone(). 2004-08-31 David Jee <djee@redhat.com> PR AWT/16682 * gnu/java/awt/peer/gtk/GtkFramePeer.java (nativeSetIconImage): Rename to nativeSetIconImageFromDecoder. (nativeSetIconImageFromData): New native method declaration. (setIconImage): Handle images not produced from GdkPixbufDecoder. * gnu/java/awt/peer/gtk/GtkImage.java (getPixelCache): New method. (getColorModel): New method. * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c (nativeSetIconImage): Rename to nativeSetIconImageFromDecoder. (free_pixbuf_data): New helper function. (nativeSetIconImageFromData): New function. 2004-08-31 Graydon Hoare <graydon@redhat.com> PR SWING/16576 * javax/swing/JLayeredPane.java (setLayer): Permit changing layer after addition. (setPosition): Permit over-length positions. (layerToRange): Compare intValue()s. * javax/swing/Box.java (createHorizontalBox): Implement. (createRigidArea): Likewise. (createVerticalBox): Likewise. 2004-08-31 Kim Ho <kho@redhat.com> * java/awt/Component.java: (processMouseEvent): Consume event after listeners process it. (processMouseMotionEvent): ditto. (processMouseWheelEvent): ditto. * java/awt/Container.java: (acquireComponentForMouseEvent): Do not dispatch to events that have been removed from the Container. (handleEvent): Consume the MouseEvents. * javax/swing/RepaintManager.java: (paintDirtyRegions): Do not add to list of damaged areas if the component has no root. 2004-08-31 Michael Koch <konqueror@gmx.de> * javax/swing/plaf/basic/BasicMenuItemUI.java: Clean ip imports. 2004-08-31 Mark Wielaard <mark@klomp.org> * gnu/java/awt/peer/gtk/GtkToolkit.java (getFontPeer): Don't return null when a MissingResourceException is thrown. Should never happen. 2004-08-31 Mark Wielaard <mark@klomp.org> * java/awt/EventQueue.java (postEvent): Throw NullPointerException when argument is null. 2004-08-31 Mark Wielaard <mark@klomp.org> * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c (Java_gnu_java_awt_peer_gtk_GtkComponentPeer_addExposeFilter): Define hid at start of function. (Java_gnu_java_awt_peer_gtk_GtkComponentPeer_removeExposeFilter): Likewise. 2004-08-31 Mark Wielaard <mark@klomp.org> * gnu/java/awt/EmbeddedWindow.java: Reindent. * javax/swing/JButton.java: Reindent. * javax/swing/JCheckBox.java: Reindent. 2004-08-31 Mark Wielaard <mark@klomp.org> * Makefile.am (gtk_c_source_files): Added jni/gtk-peer/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.c. (gtk_awt_peer_sources): Added gnu/java/awt/peer/gtk/GThreadMutex.java and gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.java. * Makefile.in: Regenerated. 2004-08-31 Archie Cobbs <archie@dellroad.org> * jni/gtk-peer/gthread-jni.c: don't #include nonexistent files 2004-08-31 Steven Augart <augart@watson.ibm.com> * jni/gtk-peer/gthread-jni.c (c-font-lock-extra-types): Added jfieldID, jmethodID. 2004-08-31 Mark Wielaard <mark@klomp.org> * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c (Java_gnu_java_awt_peer_gtk_GtkMainThread_gtkInit): Initialize gdk_env before calling any gdk or gtk function. * gnu/java/awt/peer/gtk/GtkMainThread.java (gtkInitCalled): New field. (GtkMainThread): Call wait() in while loop waiting for gtkInitCalled. (run): Set gtkInitCalled. 2004-08-31 Steven Augart <augart@watson.ibm.com> * gnu/java/awt/peer/gtk/GtkMainThread.java (run): Pass the value of the gnu.classpath.awt.gtk.portable.native.sync system property to C. * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c (Java_gnu_java_awt_peer_gtk_GtkMainThread_gtkInit): New argument, portableNativeSync. Delegate PORTABLE_NATIVE_SYNC work to init_glib_threads. (init_glib_threads): New function. 2004-08-31 Mark Wielaard <mark@klomp.org> * jni/gtk-peer/gthread-jni.c: Define MIN_, MAX_ and NORM_ PRIORITY when not already defined in header file. 2004-08-31 Mark Wielaard <mark@klomp.org> * jni/gtk-peer/gthread-jni.c (setup_cache): Call ExceptionOccurred, not ExceptionCheck, when we don't have JNI 1.2. 2004-08-31 Steven Augart <augart@watson.ibm.com> * gnu/native/jni/gtk-peer/gthread-jni.c: Indentation fixes. Implemented missing functions for GTK2. Added error handling. Renamed static functions out of the g_ namespace. Added TRACE_API_CALLS, EXPLAIN_TROUBLE, EXPLAIN_BROKEN, EXPLAIN_BADLY_BROKEN, and DELETE_LOCAL_REFS options. Rewrote global-reference code. Eliminated cascading errors. (mutex_trylock_jni_impl) Fully implemented. (cond_timed_wait_jni_impl) Went from millisecond to microsecond resolution. (setup_cache) New function. (mutex_cond_wait_jni_impl, mutex_cond_timed_wait_jni_impl) Fixed bug where they were not unlocking the GMutex associated with the condition variable during the wait on that condition variable. * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c, native/jni/gtk-peer/gthread-jni.c, native/jni/gtk-peer/gthread-jni.h (g_thread_jni_functions): Renamed to ... (portable_native_sync_jni_functions): this name. (gdk_vm): Renamed to... (the_vm): this name. * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c (gdk_vm): Removed duplicate definition. (gtkInit): Removed stray message to stdout. (gtkInit): Use g_malloc and g_free instead of malloc and free. (gtkInit): Fix a const assignment bug. (gtkInit): Simplified code. * gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.java, native/jni/gtk-peer/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.c, native/jni/gtk-peer/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.h, gnu/java/awt/peer/gtk/GThreadMutex.java: New files. 2004-08-31 Mark Wielaard <mark@klomp.org> * javax/swing/Box.java: Put FIXME comment above class declaration. * javax/swing/JButton.java: Remove illegal L&F HTML from comments. * javax/swing/JCheckBox.java: Likewise. * javax/swing/JDialog.java: Likewise. * javax/swing/JRadioButton.java: Likewise. * javax/swing/JToggleButton.java: Likewise. * javax/swing/UIManager.java: Likewise. * javax/swing/border/TitledBorder.java: Likewise. * javax/swing/plaf/basic/BasicLabelUI.java: Likewise. * javax/swing/plaf/basic/BasicLookAndFeel.java: Likewise. * javax/swing/plaf/basic/BasicPopupMenuSeparatorUI.java: Likewise. * javax/swing/plaf/basic/BasicProgressBarUI.java: Likewise. * javax/swing/plaf/basic/BasicScrollBarUI.java: Likewise. * javax/swing/plaf/basic/BasicSeparatorUI.java: Likewise. * javax/swing/text/JTextComponent.java: Likewise. 2004-08-31 David Jee <djee@redhat.com> PR AWT/16682 * gnu/java/awt/peer/gtk/GtkFramePeer.java (setIconImage): Add a FIXME for unhandled cases. 2004-08-31 Thomas Fitzsimmons <fitzsim@redhat.com> PR AWT/16040 * gnu/awt/LightweightRedirector.java: Call getModifiersEx, not getModifiers. Replace old button masks with new ones. * gnu/awt/xlib/XEventLoop.java: Likewise. * gnu/java/awt/peer/gtk/GtkButtonPeer.java: Likewise. * gnu/java/awt/peer/gtk/GtkComponentPeer.java, jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c: Likewise. * gnu/java/awt/peer/gtk/GtkListPeer.java: Likewise. * gnu/java/awt/peer/gtk/GtkTextFieldPeer.java: Likewise. * java/awt/AWTKeyStroke.java: Remove old modifier masks. * java/awt/Component.java: Replace old modifier masks with new ones. * java/awt/Container.java: Call getModifiersEx, not getModifiers. * java/awt/DefaultKeyboardFocusManager.java: Likewise. Remove old modifier masks. * javax/swing/JMenuItem.java: Replace old button masks with new ones. * javax/swing/KeyStroke.java: Call getModifiersEx, not getModifiers. * javax/swing/SwingUtilities.java: Likewise. * javax/swing/plaf/basic/BasicButtonListener.java: Likewise. * javax/swing/plaf/basic/BasicInternalFrameUI.java: Likewise. * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c: Replace old mask macros with new ones. * jni/gtk-peer/gtkpeer.h: Replace old button and modifier mask macros with new ones representing new masks. 2004-08-31 Craig Black <craig.black@aonix.com> * gnu/java/awt/peer/gtk/GdkGraphics.java (drawRoundRect): Implemented. (fillRoundRect): Implemented. * gnu/java/awt/peer/gtk/GdkGraphics2D.java (drawRoundRect): Reimplemented to match GdkGraphics. (fillRoundRect): Reimplemented to match GdkGraphics. 2004-08-31 Mark Wielaard <mark@klomp.org> * Makefile.in: Regenerated. 2004-08-31 Michael Koch <konqueror@gmx.de> * gnu/java/awt/EmbeddedWindow.java (addNotify): Use AccessController to allow execution of privileged code. 2004-08-31 Michael Koch <konqueror@gmx.de> * gnu/java/awt/EmbeddedWindow.java (static): Removed. (addNotify): Set peer via reflection. (setWindowPeer): Removed. * gnu/java/awt/natEmbeddedWindow.cc: Removed. * Makefile.am (nat_source_files): Removed gnu/java/awt/natEmbeddedWindow.cc. 2004-08-31 Bryce McKinlay <mckinlay@redhat.com> * Makefile.am: Add gnu/java/security/action/GetPropertyAction.java and gnu/java/security/action/SetAccessibleAction.java. 2004-08-31 Bryce McKinlay <mckinlay@redhat.com> * gnu/java/security/action/GetPropertyAction.java (setParameters): Renamed from 'setName'. New 2-argument form with default value. (run): Pass default 'value' parameter to System.getProperty(). * gnu/java/security/action/SetAccessibleAction.java: Fix javadoc typos. 2004-08-31 Bryce McKinlay <mckinlay@redhat.com> * gnu/java/security/action/GetPropertyAction.java: New class. * gnu/java/security/action/SetAccessibleAction.java: New class. 2004-08-31 David Jee <djee@redhat.com> * gnu/java/awt/peer/gtk/GtkFramePeer.java (setIconImage): Check if image is null. 2004-08-31 David Jee <djee@redhat.com> * gnu/java/awt/peer/gtk/GtkFramePeer.java (create): Set the icon image. (nativeSetIconImage): New native method declaration. (setIconImage): Implement. * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c (nativeSetIconImage): New function. 2004-08-31 Dalibor Topic <robilad@kaffe.org> * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFileDialogPeer.c (filenameFilterCallback): Declare local variable accepted before use. 2004-08-31 Dalibor Topic <robilad@kaffe.org> * gnu/java/awt/ComponentDataBlitOp.java: Cleaned up imports. 2004-08-31 Tom Tromey <tromey@redhat.com> * gnu/java/awt/peer/GLightweightPeer.java, gnu/java/awt/peer/gtk/GdkGraphics2D.java, gnu/java/awt/peer/gtk/GtkComponentPeer.java, javax/swing/JScrollPane.java: Removed redundant imports. 2004-08-31 David Jee <djee@redhat.com> * java/awt/DefaultKeyboardFocusManager.java (postProcessKeyEvent): Only activate MenuShortcuts on KEY_PRESSED event. Fix shift modifier checking. * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuPeer.c (accel_attach): Remove. (setupAccelGroup): Remove calls to accel_attach. 2004-08-31 Thomas Fitzsimmons <fitzsim@redhat.com> * gnu/java/awt/peer/gtk/GtkArg.java: Remove file. * gnu/java/awt/peer/gtk/GtkArgList.java: Remove file. * Makefile.am (gtk_awt_peer_sources): Remove GtkArg.java and GtkArgList.java. (gtk_c_files): Use CAIRO_CFLAGS and PANGOFT2_CFLAGS, not _LIBS. * Makefile.in: Regenerate. * gnu/java/awt/peer/gtk/GtkButtonPeer.java, jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c (create(String)): New method. (create): Call new create method. (getArgs): Remove method. * gnu/java/awt/peer/gtk/GtkCheckboxPeer.java, jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c (nativeCreate): Rename to create. (gtkSetLabel): Rename to gtkButtonSetLabel. (gtkToggleButtonSetActive): New method. (create): Call gtkToggleButtonSetActive and gtkButtonSetLabel. (setState): Replace set call with gtkToggleButtonSetActive. (setLabel): Replace gtkSetLabel call with gtkButtonSetLabel. (getArgs): Remove method. * gnu/java/awt/peer/gtk/GtkComponentPeer.java, jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c (gtkWidgetSetSensitive): New method. (gtkWidgetSetParent): Likewise. (GtkComponentPeer): Call setParent, setComponentBounds and setVisibleAndEnabled. (setParent): New method. (setComponentBounds): New method. (setVisibleAndEnabled): New method. (setEnabled): Call gtkWidgetSetSensitive. (getArgs): Remove method. Remove all set methods. * gnu/java/awt/peer/gtk/GtkDialogPeer.java (create): Call gtkWindowSetModal, setTitle and setResizable. (getArgs): Remove method. * gnu/java/awt/peer/gtk/GtkFileDialogPeer.java (setComponentBounds): New method. * gnu/java/awt/peer/gtk/GtkFramePeer.java (setResizable): Replace set call with gtkWindowSetResizable. (getArgs): Remove method. (create): Call setTitle and setResizable. * gnu/java/awt/peer/gtk/GtkWindowPeer.java, jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c (gtkWindowSetTitle): New method. (gtkWindowSetResizable): New method. (gtkWindowSetModal): New method. (setParent): New method. (setVisibleAndEnabled): New method. (getArgs): Remove method. (setTitle): Call gtkWindowSetTitle. (setResizable): Call gtkWindowSetResizable. * jni/gtk-peer/gtkpeer.h [DEBUG_LOCKING]: New define to turn on and off locking instrumentation. 2004-08-31 Kim Ho <kho@redhat.com> * Makefile.am: Add new file. * Makefile.in: Regenerate. * gcj/Makefile.in: Regenerate * include/Makefile.in: * java/awt/Container.java: (acquireComponentForMouseEvent): Respect the event mask when looking for candidate. * javax/swing/JComponent.java: Remove toolTip field. (createToolTip): Create a tooltip on demand. (setToolTipText): Register with the ToolTipManager. (getToolTipText(MouseEvent)): Return getToolTipText(). * javax/swing/JToolTip.java: Implement. * javax/swing/Timer.java: Jalopy. (restart): Call stop, then start. (stop): Interrupt the timer rather than wait for the timer to come to a stop naturally. * javax/swing/ToolTipManager.java: Implement. * javax/swing/plaf/basic/BasicLookAndFeel.java: Change ToolTip.background color. * javax/swing/plaf/basic/BasicToolTipUI.java: Implement. * testsuite/Makefile.in: Regenerate 2004-08-31 Jerry Quinn <jlquinn@optonline.net> * java/awt/image/DirectColorModel.java (DirectColorModel): Fix constructor param comments. 2004-08-31 Thomas Fitzsimmons <fitzsim@redhat.com> * java/awt/Component.java: Document AWT 1.0 event handler methods. 2004-08-31 Roman Kennke <roman@ontographics.com> * javax/swing/Box.java: (createGlue): Implemented (createHorizontalGlue): Implemented (createHorizontalStrut): Implemented (createVerticalGlue): Implemented (createVerticalStrut): Implemented 2004-08-31 David Jee <djee@redhat.com> * gnu/java/awt/peer/gtk/GtkChoicePeer.java (GtkChoicePeer): Do not automatically select first item. (getHistory): Remove. (nativeGetSelected): New method. (nativeRemoveAll): New method. (add): Use nativeGetSelected() instead of getHistory(). (remove): Likewise. (removeAll): Call nativeRemoveAll(). * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c (create): Migrate to GtkComboBox. (append): Likewise. (nativeAdd): Likewise. (nativeRemove): Likewise. (select): Likewise. (nativeRemoveAll): New method. (nativeGetSelected): New method. (selection_changed): New method. (getHistory): Remove. (item_activate): Remove. (item_removed): Remove. (connect_choice_item_selectable_hook): Remove. 2004-08-31 Thomas Fitzsimmons <fitzsim@redhat.com> * gnu/java/awt/peer/gtk/GtkTextFieldPeer.java (create): Use tf variable in setEditable call. * gnu/java/awt/peer/gtk/GtkTextFieldPeer.java, jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c (gtkWidgetSetBackground): New method. (gtkWidgetSetForeground): Likewise. (create): Set peer's editable state based on awtComponent's. * java/awt/Button.java (Button()): Use empty string rather than null in no-label constructor. 2004-08-31 Roman Kennke <roman@ontographics.com> * javax/swing/BoxLayout.java: Reimplement. 2004-08-31 Thomas Fitzsimmons <fitzsim@redhat.com> * gnu/java/awt/peer/gtk/GdkGraphics.java, gnu_java_awt_peer_gtk_GdkGraphics.c (initState(GtkComponentPeer)): Don't return array of colour values. (GdkGraphics(int,int)): Set default font to size 12. (GdkGraphics(GtkComponentPeer)): Set graphics colour to component's foreground colour. * gnu/java/awt/peer/gtk/GdkGraphics2D.java, gnu_java_awt_peer_gtk_GdkGraphics2D.c (initState(GtkComponentPeer)): Don't return array of colour values. (GdkGraphics2D(GtkComponentPeer)): Set foreground and background colours to component's colours. (current_colors_of_widget): Remove function. * gnu/java/awt/peer/gtk/GtkOffScreenImage.java (getGraphics): Return a new graphics object. * java/awt/Font.java (toString): Fix format. * java/awt/Graphics.java (toString): Likewise. 2004-08-31 Craig Black <craig.black@aonix.com> * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuPeer.c (addTearOff): New function. * gnu/java/awt/peer/gtk/GtkMenuPeer.java (addTearOff): New native method. (init): Call addTearOff() when menu.isTearOff(). 2004-08-31 Bryce McKinlay <mckinlay@redhat.com> * gnu/java/awt/ClasspathToolkit.java (createImageProducer): New. Default implementation. * gnu/java/awt/peer/gtk/GtkToolkit.java (createImageProducer): New. Implement using GdkPixbufDecoder. 2004-08-31 David Jee <djee@redhat.com> * gnu/java/awt/peer/gtk/GtkComponentPeer.java (GtkComponentPeer): Use gtkWidgetGetPreferredDimensions() for setting the size of GtkFileDialogPeers. * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c (gtkWidgetGetPreferredDimensions): For widgets extending GtkWindow, use their default sizes rather than their natural requisitions. 2004-08-31 Michael Koch <konqueror@gmx.de> * javax/swing/JFormattedTextField.java (JFormattedTextField): Implemented. * javax/swing/text/DefaultEditorKit.java (BeepAction): New inner class. * javax/swing/text/Segment.java (partialReturn): New field. (setPartialReturn): New method. (isPartialReturn): Likewise. * javax/swing/text/View.java (createFragment): Fixed typo. (getStartOffset): New method. (getEndOffset): Likewise. 2004-08-31 Michael Koch <konqueror@gmx.de> * javax/swing/table/DefaultTableColumnModel.java (serialVersionUID): Made private. (listenerList): Initialize. (changeEvent): Initialize. * javax/swing/table/JTableHeader.java (JTableHeader): New constructors. (createDefaultColumnModel): New method. * javax/swing/table/TableColumn.java (setHeaderRenderer): Simplified code. (setCellRenderer): Likewise. (setWidth): Likewise. From-SVN: r86956
This commit is contained in:
@@ -409,13 +409,13 @@ public class AWTKeyStroke implements Serializable
|
||||
{
|
||||
token = t.nextToken();
|
||||
if ("shift".equals(token))
|
||||
modifiers |= KeyEvent.SHIFT_MASK | KeyEvent.SHIFT_DOWN_MASK;
|
||||
modifiers |= KeyEvent.SHIFT_DOWN_MASK;
|
||||
else if ("ctrl".equals(token) || "control".equals(token))
|
||||
modifiers |= KeyEvent.CTRL_MASK | KeyEvent.CTRL_DOWN_MASK;
|
||||
modifiers |= KeyEvent.CTRL_DOWN_MASK;
|
||||
else if ("meta".equals(token))
|
||||
modifiers |= KeyEvent.META_MASK | KeyEvent.META_DOWN_MASK;
|
||||
modifiers |= KeyEvent.META_DOWN_MASK;
|
||||
else if ("alt".equals(token))
|
||||
modifiers |= KeyEvent.ALT_MASK | KeyEvent.ALT_DOWN_MASK;
|
||||
modifiers |= KeyEvent.ALT_DOWN_MASK;
|
||||
else if ("button1".equals(token))
|
||||
modifiers |= KeyEvent.BUTTON1_DOWN_MASK;
|
||||
else if ("button2".equals(token))
|
||||
|
||||
@@ -101,7 +101,7 @@ private transient ActionListener action_listeners;
|
||||
public
|
||||
Button()
|
||||
{
|
||||
this(null);
|
||||
this("");
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
@@ -506,7 +506,7 @@ public class Color implements Paint, Serializable
|
||||
|
||||
/**
|
||||
* Returns the RGB value for this color, in the sRGB color space. The blue
|
||||
* value will be in bits 0-7, green in 8-15, red in 6-23, and alpha value in
|
||||
* value will be in bits 0-7, green in 8-15, red in 16-23, and alpha value in
|
||||
* 24-31.
|
||||
*
|
||||
* @return the RGB value for this color
|
||||
@@ -772,9 +772,9 @@ public class Color implements Paint, Serializable
|
||||
if (red == max)
|
||||
array[0] = (green - blue) / delta;
|
||||
else if (green == max)
|
||||
array[0] = 1 / 3 + (blue - red) / delta;
|
||||
array[0] = 1f / 3 + (blue - red) / delta;
|
||||
else
|
||||
array[0] = 2 / 3 + (red - green) / delta;
|
||||
array[0] = 2f / 3 + (red - green) / delta;
|
||||
if (array[0] < 0)
|
||||
array[0]++;
|
||||
}
|
||||
|
||||
@@ -58,6 +58,7 @@ import java.awt.event.MouseMotionListener;
|
||||
import java.awt.event.MouseWheelListener;
|
||||
import java.awt.event.MouseWheelEvent;
|
||||
import java.awt.event.PaintEvent;
|
||||
import java.awt.event.WindowEvent;
|
||||
import java.awt.im.InputContext;
|
||||
import java.awt.im.InputMethodRequests;
|
||||
import java.awt.image.BufferStrategy;
|
||||
@@ -2262,7 +2263,7 @@ public abstract class Component
|
||||
* This method simply calls handleEvent and returns the result.
|
||||
*
|
||||
* @param e the event to handle
|
||||
* @return the result of handling <code>e</code>
|
||||
* @return true if the event was handled, false otherwise
|
||||
* @deprecated use {@link #dispatchEvent(AWTEvent)} instead
|
||||
*/
|
||||
public boolean postEvent(Event e)
|
||||
@@ -3028,6 +3029,7 @@ public abstract class Component
|
||||
mouseListener.mouseReleased(e);
|
||||
break;
|
||||
}
|
||||
e.consume();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -3055,6 +3057,7 @@ public abstract class Component
|
||||
mouseMotionListener.mouseMoved(e);
|
||||
break;
|
||||
}
|
||||
e.consume();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -3073,7 +3076,10 @@ public abstract class Component
|
||||
{
|
||||
if (mouseWheelListener != null
|
||||
&& e.id == MouseEvent.MOUSE_WHEEL)
|
||||
{
|
||||
mouseWheelListener.mouseWheelMoved(e);
|
||||
e.consume();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -3205,135 +3211,145 @@ public abstract class Component
|
||||
}
|
||||
|
||||
/**
|
||||
* AWT 1.0 mouse event handler.
|
||||
* AWT 1.0 MOUSE_DOWN event handler. This method is meant to be
|
||||
* overridden by components providing their own MOUSE_DOWN handler.
|
||||
* The default implementation simply returns false.
|
||||
*
|
||||
* @param evt the event to handle
|
||||
* @param x the x coordinate, ignored
|
||||
* @param y the y coordinate, ignored
|
||||
* @return false: since the method was deprecated, the return has no meaning
|
||||
* @return false
|
||||
* @deprecated use {@link #processMouseEvent(MouseEvent)} instead
|
||||
*/
|
||||
public boolean mouseDown(Event evt, int x, int y)
|
||||
{
|
||||
// XXX Add backward compatibility handling.
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* AWT 1.0 mouse event.
|
||||
* AWT 1.0 MOUSE_DRAG event handler. This method is meant to be
|
||||
* overridden by components providing their own MOUSE_DRAG handler.
|
||||
* The default implementation simply returns false.
|
||||
*
|
||||
* @param evt the event to handle
|
||||
* @param x the x coordinate, ignored
|
||||
* @param y the y coordinate, ignored
|
||||
* @return false: since the method was deprecated, the return has no meaning
|
||||
* @return false
|
||||
* @deprecated use {@link #processMouseMotionEvent(MouseEvent)} instead
|
||||
*/
|
||||
public boolean mouseDrag(Event evt, int x, int y)
|
||||
{
|
||||
// XXX Add backward compatibility handling.
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* AWT 1.0 mouse event.
|
||||
* AWT 1.0 MOUSE_UP event handler. This method is meant to be
|
||||
* overridden by components providing their own MOUSE_UP handler.
|
||||
* The default implementation simply returns false.
|
||||
*
|
||||
* @param evt the event to handle
|
||||
* @param x the x coordinate, ignored
|
||||
* @param y the y coordinate, ignored
|
||||
* @return false: since the method was deprecated, the return has no meaning
|
||||
* @return false
|
||||
* @deprecated use {@link #processMouseEvent(MouseEvent)} instead
|
||||
*/
|
||||
public boolean mouseUp(Event evt, int x, int y)
|
||||
{
|
||||
// XXX Add backward compatibility handling.
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* AWT 1.0 mouse event.
|
||||
* AWT 1.0 MOUSE_MOVE event handler. This method is meant to be
|
||||
* overridden by components providing their own MOUSE_MOVE handler.
|
||||
* The default implementation simply returns false.
|
||||
*
|
||||
* @param evt the event to handle
|
||||
* @param x the x coordinate, ignored
|
||||
* @param y the y coordinate, ignored
|
||||
* @return false: since the method was deprecated, the return has no meaning
|
||||
* @return false
|
||||
* @deprecated use {@link #processMouseMotionEvent(MouseEvent)} instead
|
||||
*/
|
||||
public boolean mouseMove(Event evt, int x, int y)
|
||||
{
|
||||
// XXX Add backward compatibility handling.
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* AWT 1.0 mouse event.
|
||||
* AWT 1.0 MOUSE_ENTER event handler. This method is meant to be
|
||||
* overridden by components providing their own MOUSE_ENTER handler.
|
||||
* The default implementation simply returns false.
|
||||
*
|
||||
* @param evt the event to handle
|
||||
* @param x the x coordinate, ignored
|
||||
* @param y the y coordinate, ignored
|
||||
* @return false: since the method was deprecated, the return has no meaning
|
||||
* @return false
|
||||
* @deprecated use {@link #processMouseEvent(MouseEvent)} instead
|
||||
*/
|
||||
public boolean mouseEnter(Event evt, int x, int y)
|
||||
{
|
||||
// XXX Add backward compatibility handling.
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* AWT 1.0 mouse event.
|
||||
* AWT 1.0 MOUSE_EXIT event handler. This method is meant to be
|
||||
* overridden by components providing their own MOUSE_EXIT handler.
|
||||
* The default implementation simply returns false.
|
||||
*
|
||||
* @param evt the event to handle
|
||||
* @param x the x coordinate, ignored
|
||||
* @param y the y coordinate, ignored
|
||||
* @return false: since the method was deprecated, the return has no meaning
|
||||
* @return false
|
||||
* @deprecated use {@link #processMouseEvent(MouseEvent)} instead
|
||||
*/
|
||||
public boolean mouseExit(Event evt, int x, int y)
|
||||
{
|
||||
// XXX Add backward compatibility handling.
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* AWT 1.0 key press event.
|
||||
* AWT 1.0 KEY_PRESS and KEY_ACTION event handler. This method is
|
||||
* meant to be overridden by components providing their own key
|
||||
* press handler. The default implementation simply returns false.
|
||||
*
|
||||
* @param evt the event to handle
|
||||
* @param key the key pressed, ignored
|
||||
* @return false: since the method was deprecated, the return has no meaning
|
||||
* @return false
|
||||
* @deprecated use {@link #processKeyEvent(KeyEvent)} instead
|
||||
*/
|
||||
public boolean keyDown(Event evt, int key)
|
||||
{
|
||||
// XXX Add backward compatibility handling.
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* AWT 1.0 key press event.
|
||||
* AWT 1.0 KEY_RELEASE and KEY_ACTION_RELEASE event handler. This
|
||||
* method is meant to be overridden by components providing their
|
||||
* own key release handler. The default implementation simply
|
||||
* returns false.
|
||||
*
|
||||
* @param evt the event to handle
|
||||
* @param key the key pressed, ignored
|
||||
* @return false: since the method was deprecated, the return has no meaning
|
||||
* @return false
|
||||
* @deprecated use {@link #processKeyEvent(KeyEvent)} instead
|
||||
*/
|
||||
public boolean keyUp(Event evt, int key)
|
||||
{
|
||||
// XXX Add backward compatibility handling.
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* AWT 1.0 action event processor.
|
||||
* AWT 1.0 ACTION_EVENT event handler. This method is meant to be
|
||||
* overridden by components providing their own action event
|
||||
* handler. The default implementation simply returns false.
|
||||
*
|
||||
* @param evt the event to handle
|
||||
* @param what the object acted on, ignored
|
||||
* @return false: since the method was deprecated, the return has no meaning
|
||||
* @return false
|
||||
* @deprecated in classes which support actions, use
|
||||
* <code>processActionEvent(ActionEvent)</code> instead
|
||||
*/
|
||||
public boolean action(Event evt, Object what)
|
||||
{
|
||||
// XXX Add backward compatibility handling.
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -3377,30 +3393,32 @@ public abstract class Component
|
||||
}
|
||||
|
||||
/**
|
||||
* AWT 1.0 focus event.
|
||||
* AWT 1.0 GOT_FOCUS event handler. This method is meant to be
|
||||
* overridden by components providing their own GOT_FOCUS handler.
|
||||
* The default implementation simply returns false.
|
||||
*
|
||||
* @param evt the event to handle
|
||||
* @param what the Object focused, ignored
|
||||
* @return false: since the method was deprecated, the return has no meaning
|
||||
* @return false
|
||||
* @deprecated use {@link #processFocusEvent(FocusEvent)} instead
|
||||
*/
|
||||
public boolean gotFocus(Event evt, Object what)
|
||||
{
|
||||
// XXX Add backward compatibility handling.
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* AWT 1.0 focus event.
|
||||
* AWT 1.0 LOST_FOCUS event handler. This method is meant to be
|
||||
* overridden by components providing their own LOST_FOCUS handler.
|
||||
* The default implementation simply returns false.
|
||||
*
|
||||
* @param evt the event to handle
|
||||
* @param what the Object focused, ignored
|
||||
* @return false: since the method was deprecated, the return has no meaning
|
||||
* @return false
|
||||
* @deprecated use {@link #processFocusEvent(FocusEvent)} instead
|
||||
*/
|
||||
public boolean lostFocus(Event evt, Object what)
|
||||
{
|
||||
// XXX Add backward compatibility handling.
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -3415,7 +3433,7 @@ public abstract class Component
|
||||
*/
|
||||
public boolean isFocusTraversable()
|
||||
{
|
||||
return enabled && visible && (peer == null || peer.isFocusTraversable());
|
||||
return enabled && visible && (peer == null || isLightweight() || peer.isFocusTraversable());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -3430,7 +3448,11 @@ public abstract class Component
|
||||
}
|
||||
|
||||
/**
|
||||
* Specify whether this component can receive focus.
|
||||
* Specify whether this component can receive focus. This method also
|
||||
* sets the {@link #isFocusTraversableOverridden} field to 1, which
|
||||
* appears to be the undocumented way {@link
|
||||
* DefaultFocusTraversalPolicy#accept()} determines whether to respect
|
||||
* the {@link #isFocusable()} method of the component.
|
||||
*
|
||||
* @param focusable the new focusable status
|
||||
* @since 1.4
|
||||
@@ -3439,6 +3461,7 @@ public abstract class Component
|
||||
{
|
||||
firePropertyChange("focusable", this.focusable, focusable);
|
||||
this.focusable = focusable;
|
||||
this.isFocusTraversableOverridden = 1;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -3697,7 +3720,7 @@ public abstract class Component
|
||||
Window toplevel = (Window) parent;
|
||||
if (toplevel.isFocusableWindow ())
|
||||
{
|
||||
if (peer != null)
|
||||
if (peer != null && !isLightweight())
|
||||
// This call will cause a FOCUS_GAINED event to be
|
||||
// posted to the system event queue if the native
|
||||
// windowing system grants the focus request.
|
||||
@@ -3783,7 +3806,7 @@ public abstract class Component
|
||||
Window toplevel = (Window) parent;
|
||||
if (toplevel.isFocusableWindow ())
|
||||
{
|
||||
if (peer != null)
|
||||
if (peer != null && !isLightweight())
|
||||
// This call will cause a FOCUS_GAINED event to be
|
||||
// posted to the system event queue if the native
|
||||
// windowing system grants the focus request.
|
||||
@@ -3904,6 +3927,7 @@ public abstract class Component
|
||||
if (focusedWindow == toplevel)
|
||||
{
|
||||
if (peer != null
|
||||
&& !isLightweight()
|
||||
&& !(this instanceof Window))
|
||||
// This call will cause a FOCUS_GAINED event to be
|
||||
// posted to the system event queue if the native
|
||||
@@ -4495,23 +4519,23 @@ p * <li>the set of backward traversal keys
|
||||
int id = e.getID ();
|
||||
|
||||
int oldMods = 0;
|
||||
int mods = ie.getModifiers ();
|
||||
int mods = ie.getModifiersEx ();
|
||||
|
||||
if ((mods & InputEvent.BUTTON2_MASK) != 0)
|
||||
if ((mods & InputEvent.BUTTON2_DOWN_MASK) != 0)
|
||||
oldMods |= Event.META_MASK;
|
||||
else if ((mods & InputEvent.BUTTON3_MASK) != 0)
|
||||
else if ((mods & InputEvent.BUTTON3_DOWN_MASK) != 0)
|
||||
oldMods |= Event.ALT_MASK;
|
||||
|
||||
if ((mods & (InputEvent.SHIFT_MASK | InputEvent.SHIFT_DOWN_MASK)) != 0)
|
||||
if ((mods & InputEvent.SHIFT_DOWN_MASK) != 0)
|
||||
oldMods |= Event.SHIFT_MASK;
|
||||
|
||||
if ((mods & (InputEvent.CTRL_MASK | InputEvent.CTRL_DOWN_MASK)) != 0)
|
||||
if ((mods & InputEvent.CTRL_DOWN_MASK) != 0)
|
||||
oldMods |= Event.CTRL_MASK;
|
||||
|
||||
if ((mods & (InputEvent.META_MASK | InputEvent.META_DOWN_MASK)) != 0)
|
||||
if ((mods & InputEvent.META_DOWN_MASK) != 0)
|
||||
oldMods |= Event.META_MASK;
|
||||
|
||||
if ((mods & (InputEvent.ALT_MASK | InputEvent.ALT_DOWN_MASK)) != 0)
|
||||
if ((mods & InputEvent.ALT_DOWN_MASK) != 0)
|
||||
oldMods |= Event.ALT_MASK;
|
||||
|
||||
if (e instanceof MouseEvent)
|
||||
@@ -4673,7 +4697,8 @@ p * <li>the set of backward traversal keys
|
||||
*
|
||||
* @param e the event to dispatch
|
||||
*/
|
||||
void dispatchEventImpl(AWTEvent e)
|
||||
|
||||
void dispatchEventImpl (AWTEvent e)
|
||||
{
|
||||
Event oldEvent = translateEvent (e);
|
||||
|
||||
@@ -4681,7 +4706,30 @@ p * <li>the set of backward traversal keys
|
||||
postEvent (oldEvent);
|
||||
|
||||
if (eventTypeEnabled (e.id))
|
||||
processEvent(e);
|
||||
{
|
||||
// the trick we use to communicate between dispatch and redispatch
|
||||
// is to have KeyboardFocusManager.redispatch synchronize on the
|
||||
// object itself. we then do not redispatch to KeyboardFocusManager
|
||||
// if we are already holding the lock.
|
||||
if (! Thread.holdsLock(e))
|
||||
{
|
||||
switch (e.id)
|
||||
{
|
||||
case WindowEvent.WINDOW_GAINED_FOCUS:
|
||||
case WindowEvent.WINDOW_LOST_FOCUS:
|
||||
case KeyEvent.KEY_PRESSED:
|
||||
case KeyEvent.KEY_RELEASED:
|
||||
case KeyEvent.KEY_TYPED:
|
||||
case FocusEvent.FOCUS_GAINED:
|
||||
case FocusEvent.FOCUS_LOST:
|
||||
if (KeyboardFocusManager
|
||||
.getCurrentKeyboardFocusManager()
|
||||
.dispatchEvent(e))
|
||||
return;
|
||||
}
|
||||
}
|
||||
processEvent (e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -1505,10 +1505,11 @@ public class Container extends Component
|
||||
void dispatchEventImpl(AWTEvent e)
|
||||
{
|
||||
// Give lightweight dispatcher a chance to handle it.
|
||||
if (dispatcher != null
|
||||
if (eventTypeEnabled (e.id)
|
||||
&& dispatcher != null
|
||||
&& dispatcher.handleEvent (e))
|
||||
return;
|
||||
|
||||
|
||||
if ((e.id <= ContainerEvent.CONTAINER_LAST
|
||||
&& e.id >= ContainerEvent.CONTAINER_FIRST)
|
||||
&& (containerListener != null
|
||||
@@ -1586,7 +1587,6 @@ public class Container extends Component
|
||||
{
|
||||
if (dispatcher == null)
|
||||
dispatcher = new LightweightDispatcher (this);
|
||||
dispatcher.enableEvents (component[i].eventMask);
|
||||
}
|
||||
|
||||
|
||||
@@ -1831,7 +1831,6 @@ class LightweightDispatcher implements Serializable
|
||||
{
|
||||
private static final long serialVersionUID = 5184291520170872969L;
|
||||
private Container nativeContainer;
|
||||
private Component focus;
|
||||
private Cursor nativeCursor;
|
||||
private long eventMask;
|
||||
|
||||
@@ -1845,11 +1844,6 @@ class LightweightDispatcher implements Serializable
|
||||
nativeContainer = c;
|
||||
}
|
||||
|
||||
void enableEvents(long l)
|
||||
{
|
||||
eventMask |= l;
|
||||
}
|
||||
|
||||
void acquireComponentForMouseEvent(MouseEvent me)
|
||||
{
|
||||
int x = me.getX ();
|
||||
@@ -1863,8 +1857,9 @@ class LightweightDispatcher implements Serializable
|
||||
{
|
||||
candidate =
|
||||
SwingUtilities.getDeepestComponentAt(parent, p.x, p.y);
|
||||
if (candidate == null)
|
||||
if (candidate == null || (candidate.eventMask & me.getID()) == 0)
|
||||
{
|
||||
candidate = null;
|
||||
p = SwingUtilities.convertPoint(parent, p.x, p.y, parent.parent);
|
||||
parent = parent.parent;
|
||||
}
|
||||
@@ -1881,21 +1876,25 @@ class LightweightDispatcher implements Serializable
|
||||
&& lastComponentEntered.isShowing()
|
||||
&& lastComponentEntered != candidate)
|
||||
{
|
||||
Point tp =
|
||||
SwingUtilities.convertPoint(nativeContainer,
|
||||
x, y, lastComponentEntered);
|
||||
MouseEvent exited = new MouseEvent (lastComponentEntered,
|
||||
MouseEvent.MOUSE_EXITED,
|
||||
me.getWhen (),
|
||||
me.getModifiers (),
|
||||
tp.x, tp.y,
|
||||
me.getClickCount (),
|
||||
me.isPopupTrigger (),
|
||||
me.getButton ());
|
||||
lastComponentEntered.dispatchEvent (exited);
|
||||
// Old candidate could have been removed from
|
||||
// the nativeContainer so we check first.
|
||||
if (SwingUtilities.isDescendingFrom(lastComponentEntered, nativeContainer))
|
||||
{
|
||||
Point tp =
|
||||
SwingUtilities.convertPoint(nativeContainer,
|
||||
x, y, lastComponentEntered);
|
||||
MouseEvent exited = new MouseEvent (lastComponentEntered,
|
||||
MouseEvent.MOUSE_EXITED,
|
||||
me.getWhen (),
|
||||
me.getModifiersEx (),
|
||||
tp.x, tp.y,
|
||||
me.getClickCount (),
|
||||
me.isPopupTrigger (),
|
||||
me.getButton ());
|
||||
lastComponentEntered.dispatchEvent (exited);
|
||||
}
|
||||
lastComponentEntered = null;
|
||||
}
|
||||
|
||||
// If we have a candidate, maybe enter it.
|
||||
if (candidate != null)
|
||||
{
|
||||
@@ -1911,7 +1910,7 @@ class LightweightDispatcher implements Serializable
|
||||
MouseEvent entered = new MouseEvent (lastComponentEntered,
|
||||
MouseEvent.MOUSE_ENTERED,
|
||||
me.getWhen (),
|
||||
me.getModifiers (),
|
||||
me.getModifiersEx (),
|
||||
cp.x, cp.y,
|
||||
me.getClickCount (),
|
||||
me.isPopupTrigger (),
|
||||
@@ -1929,7 +1928,8 @@ class LightweightDispatcher implements Serializable
|
||||
// - MOUSE_RELEASED
|
||||
// - MOUSE_PRESSED: another button pressed while the first is held down
|
||||
// - MOUSE_DRAGGED
|
||||
mouseEventTarget = pressedComponent;
|
||||
if (SwingUtilities.isDescendingFrom(pressedComponent, nativeContainer))
|
||||
mouseEventTarget = pressedComponent;
|
||||
else if (me.getID() == MouseEvent.MOUSE_CLICKED)
|
||||
{
|
||||
// Don't dispatch CLICKED events whose target is not the same as the
|
||||
@@ -1943,9 +1943,6 @@ class LightweightDispatcher implements Serializable
|
||||
|
||||
boolean handleEvent(AWTEvent e)
|
||||
{
|
||||
if ((eventMask & e.getID()) == 0)
|
||||
return false;
|
||||
|
||||
if (e instanceof MouseEvent)
|
||||
{
|
||||
MouseEvent me = (MouseEvent) e;
|
||||
@@ -1979,12 +1976,10 @@ class LightweightDispatcher implements Serializable
|
||||
pressedComponent = null;
|
||||
break;
|
||||
}
|
||||
if (newEvt.isConsumed())
|
||||
e.consume();
|
||||
}
|
||||
}
|
||||
else if (e instanceof KeyEvent && focus != null)
|
||||
{
|
||||
focus.processKeyEvent((KeyEvent) e);
|
||||
}
|
||||
|
||||
return e.isConsumed();
|
||||
}
|
||||
|
||||
@@ -92,19 +92,17 @@ public class DefaultFocusTraversalPolicy
|
||||
&& comp.enabled)
|
||||
{
|
||||
if (comp.isFocusTraversableOverridden != 0
|
||||
&& comp.isFocusTraversable ())
|
||||
return true;
|
||||
else
|
||||
{
|
||||
if (!(comp instanceof Canvas
|
||||
|| comp instanceof Panel
|
||||
|| comp instanceof Label
|
||||
|| comp instanceof ScrollPane
|
||||
|| comp instanceof Scrollbar
|
||||
|| comp instanceof Window
|
||||
|| comp.isLightweight ()))
|
||||
return true;
|
||||
}
|
||||
&& (comp.isFocusTraversable () || comp.isFocusable()))
|
||||
return true;
|
||||
|
||||
if (!(comp instanceof Canvas
|
||||
|| comp instanceof Panel
|
||||
|| comp instanceof Label
|
||||
|| comp instanceof ScrollPane
|
||||
|| comp instanceof Scrollbar
|
||||
|| comp instanceof Window
|
||||
|| comp.isLightweight ()))
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -155,7 +155,7 @@ public class DefaultKeyboardFocusManager extends KeyboardFocusManager
|
||||
&& e.id != WindowEvent.WINDOW_DEACTIVATED)
|
||||
return false;
|
||||
|
||||
target.dispatchEvent (e);
|
||||
redispatchEvent(target, e);
|
||||
return true;
|
||||
}
|
||||
else if (e instanceof FocusEvent)
|
||||
@@ -197,7 +197,7 @@ public class DefaultKeyboardFocusManager extends KeyboardFocusManager
|
||||
setGlobalPermanentFocusOwner (null);
|
||||
}
|
||||
|
||||
target.dispatchEvent (e);
|
||||
redispatchEvent(target, e);
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -258,7 +258,7 @@ public class DefaultKeyboardFocusManager extends KeyboardFocusManager
|
||||
Component focusOwner = getGlobalPermanentFocusOwner ();
|
||||
|
||||
if (focusOwner != null)
|
||||
focusOwner.dispatchEvent (e);
|
||||
redispatchEvent(focusOwner, e);
|
||||
|
||||
// Loop through all registered KeyEventPostProcessors, giving
|
||||
// each a chance to process this event.
|
||||
@@ -284,10 +284,10 @@ public class DefaultKeyboardFocusManager extends KeyboardFocusManager
|
||||
{
|
||||
// Check if this event represents a menu shortcut.
|
||||
|
||||
// MenuShortcuts are activated by Ctrl- KeyEvents.
|
||||
int modifiers = e.getModifiers ();
|
||||
if ((modifiers & KeyEvent.CTRL_MASK) != 0
|
||||
|| (modifiers & KeyEvent.CTRL_DOWN_MASK) != 0)
|
||||
// MenuShortcuts are activated by Ctrl- KeyEvents, only on KEY_PRESSED.
|
||||
int modifiers = e.getModifiersEx ();
|
||||
if (e.getID() == KeyEvent.KEY_PRESSED
|
||||
&& (modifiers & KeyEvent.CTRL_DOWN_MASK) != 0)
|
||||
{
|
||||
Window focusedWindow = getGlobalFocusedWindow ();
|
||||
if (focusedWindow instanceof Frame)
|
||||
@@ -311,17 +311,21 @@ public class DefaultKeyboardFocusManager extends KeyboardFocusManager
|
||||
MenuItem item = menu.getItem (j);
|
||||
MenuShortcut shortcut = item.getShortcut ();
|
||||
|
||||
if (shortcut != null)
|
||||
if (item.isEnabled() && shortcut != null)
|
||||
{
|
||||
// Dispatch a new ActionEvent if this is a
|
||||
// Shift- KeyEvent and the shortcut requires
|
||||
// the Shift modifier, or if the shortcut
|
||||
// doesn't require the Shift modifier.
|
||||
if ((shortcut.usesShiftModifier ()
|
||||
&& ((modifiers & KeyEvent.SHIFT_MASK) != 0
|
||||
|| (modifiers & KeyEvent.SHIFT_DOWN_MASK) != 0)
|
||||
|| !shortcut.usesShiftModifier ())
|
||||
&& shortcut.getKey () == e.getKeyCode ())
|
||||
// Dispatch a new ActionEvent if:
|
||||
//
|
||||
// a) this is a Shift- KeyEvent, and the
|
||||
// shortcut requires the Shift modifier
|
||||
//
|
||||
// or, b) this is not a Shift- KeyEvent, and the
|
||||
// shortcut does not require the Shift
|
||||
// modifier.
|
||||
if (shortcut.getKey () == e.getKeyCode ()
|
||||
&& ((shortcut.usesShiftModifier ()
|
||||
&& (modifiers & KeyEvent.SHIFT_DOWN_MASK) != 0)
|
||||
|| (! shortcut.usesShiftModifier ()
|
||||
&& (modifiers & KeyEvent.SHIFT_DOWN_MASK) == 0)))
|
||||
{
|
||||
item.dispatchEvent (new ActionEvent (item,
|
||||
ActionEvent.ACTION_PERFORMED,
|
||||
@@ -347,7 +351,7 @@ public class DefaultKeyboardFocusManager extends KeyboardFocusManager
|
||||
// KEY_PRESSED TAB is a focus traversal keystroke, we also need to
|
||||
// consume KEY_RELEASED and KEY_TYPED TAB key events).
|
||||
AWTKeyStroke oppositeKeystroke = AWTKeyStroke.getAWTKeyStroke (e.getKeyCode (),
|
||||
e.getModifiers (),
|
||||
e.getModifiersEx (),
|
||||
!(e.id == KeyEvent.KEY_RELEASED));
|
||||
|
||||
Set forwardKeystrokes = comp.getFocusTraversalKeys (KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS);
|
||||
@@ -439,7 +443,8 @@ public class DefaultKeyboardFocusManager extends KeyboardFocusManager
|
||||
FocusTraversalPolicy policy = focusCycleRoot.getFocusTraversalPolicy ();
|
||||
|
||||
Component previous = policy.getComponentBefore (focusCycleRoot, focusComp);
|
||||
previous.requestFocusInWindow ();
|
||||
if (previous != null)
|
||||
previous.requestFocusInWindow ();
|
||||
}
|
||||
|
||||
public void focusNextComponent (Component comp)
|
||||
@@ -449,7 +454,8 @@ public class DefaultKeyboardFocusManager extends KeyboardFocusManager
|
||||
FocusTraversalPolicy policy = focusCycleRoot.getFocusTraversalPolicy ();
|
||||
|
||||
Component next = policy.getComponentAfter (focusCycleRoot, focusComp);
|
||||
next.requestFocusInWindow ();
|
||||
if (next != null)
|
||||
next.requestFocusInWindow ();
|
||||
}
|
||||
|
||||
public void upFocusCycle (Component comp)
|
||||
@@ -461,7 +467,8 @@ public class DefaultKeyboardFocusManager extends KeyboardFocusManager
|
||||
{
|
||||
FocusTraversalPolicy policy = focusCycleRoot.getFocusTraversalPolicy ();
|
||||
Component defaultComponent = policy.getDefaultComponent (focusCycleRoot);
|
||||
defaultComponent.requestFocusInWindow ();
|
||||
if (defaultComponent != null)
|
||||
defaultComponent.requestFocusInWindow ();
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -481,7 +488,8 @@ public class DefaultKeyboardFocusManager extends KeyboardFocusManager
|
||||
{
|
||||
FocusTraversalPolicy policy = cont.getFocusTraversalPolicy ();
|
||||
Component defaultComponent = policy.getDefaultComponent (cont);
|
||||
defaultComponent.requestFocusInWindow ();
|
||||
if (defaultComponent != null)
|
||||
defaultComponent.requestFocusInWindow ();
|
||||
setGlobalCurrentFocusCycleRoot (cont);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1265,12 +1265,28 @@ equals(Object obj)
|
||||
public String
|
||||
toString()
|
||||
{
|
||||
return(getClass().getName()
|
||||
+ "(logical=" + getName ()
|
||||
+ ",family=" + getFamily ()
|
||||
+ ",name=" + getFontName ()
|
||||
+ ",style=" + getStyle ()
|
||||
+ ",size=" + getSize ());
|
||||
String styleString = "";
|
||||
|
||||
switch (getStyle ())
|
||||
{
|
||||
case 0:
|
||||
styleString = "plain";
|
||||
break;
|
||||
case 1:
|
||||
styleString = "bold";
|
||||
break;
|
||||
case 2:
|
||||
styleString = "italic";
|
||||
break;
|
||||
default:
|
||||
styleString = "unknown";
|
||||
}
|
||||
|
||||
return getClass ().getName ()
|
||||
+ "[family=" + getFamily ()
|
||||
+ ",name=" + getFontName ()
|
||||
+ ",style=" + styleString
|
||||
+ ",size=" + getSize () + "]";
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -732,14 +732,14 @@ finalize()
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* Returns a string representation of this object.
|
||||
*
|
||||
* @param A string representation of this object.
|
||||
*/
|
||||
* Returns a string representation of this object.
|
||||
*
|
||||
* @param A string representation of this object.
|
||||
*/
|
||||
public String
|
||||
toString()
|
||||
{
|
||||
return(super.toString());
|
||||
return getClass ().getName () + "[font=" + getFont () + ",color=" + getColor () + "]";
|
||||
}
|
||||
|
||||
public boolean
|
||||
|
||||
@@ -740,8 +740,11 @@ public abstract class KeyboardFocusManager
|
||||
|
||||
public final void redispatchEvent (Component target, AWTEvent e)
|
||||
{
|
||||
e.setSource (target);
|
||||
dispatchEvent (e);
|
||||
synchronized (e)
|
||||
{
|
||||
e.setSource (target);
|
||||
target.dispatchEvent (e);
|
||||
}
|
||||
}
|
||||
|
||||
public abstract boolean dispatchKeyEvent (KeyEvent e);
|
||||
|
||||
@@ -128,15 +128,15 @@ setHelpMenu(Menu menu)
|
||||
helpMenu.removeNotify ();
|
||||
helpMenu.parent = null;
|
||||
}
|
||||
helpMenu = menu;
|
||||
|
||||
if (menu.parent != null)
|
||||
menu.parent.remove (menu);
|
||||
if (menu.parent != null)
|
||||
menu.parent.remove (menu);
|
||||
menu.parent = this;
|
||||
|
||||
if (peer != null)
|
||||
{
|
||||
menu.addNotify();
|
||||
MenuBarPeer mp = (MenuBarPeer) peer;
|
||||
mp.addHelpMenu (menu);
|
||||
}
|
||||
@@ -163,8 +163,7 @@ add(Menu menu)
|
||||
|
||||
if (peer != null)
|
||||
{
|
||||
MenuBarPeer mp = (MenuBarPeer) peer;
|
||||
mp.addMenu (menu);
|
||||
menu.addNotify();
|
||||
}
|
||||
|
||||
return(menu);
|
||||
@@ -269,6 +268,11 @@ addNotify()
|
||||
Menu mi = (Menu)e.nextElement();
|
||||
mi.addNotify();
|
||||
}
|
||||
if (helpMenu != null)
|
||||
{
|
||||
helpMenu.addNotify();
|
||||
((MenuBarPeer) peer).addHelpMenu(helpMenu);
|
||||
}
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
@@ -77,7 +77,7 @@ private String actionCommand;
|
||||
/**
|
||||
* @serial Indicates whether or not this menu item is enabled.
|
||||
*/
|
||||
private boolean enabled;
|
||||
private boolean enabled = true;
|
||||
|
||||
/**
|
||||
* @serial The mask of events that are enabled for this menu item.
|
||||
|
||||
@@ -542,7 +542,7 @@ public class Rectangle extends Rectangle2D implements Shape, Serializable
|
||||
*/
|
||||
public boolean intersects(Rectangle r)
|
||||
{
|
||||
return width > 0 && height > 0 && r.width > 0 && r.height > 0
|
||||
return r.width > 0 && r.height > 0 && width > 0 && height > 0
|
||||
&& r.x < x + width && r.x + r.width > x
|
||||
&& r.y < y + height && r.y + r.height > y;
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,5 @@
|
||||
/* RoundRectangle2D.java -- represents a rectangle with rounded corners
|
||||
Copyright (C) 2000, 2002, 2003 Free Software Foundation
|
||||
Copyright (C) 2000, 2002, 2003, 2004 Free Software Foundation
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
@@ -39,6 +39,7 @@ package java.awt.geom;
|
||||
|
||||
import java.util.NoSuchElementException;
|
||||
|
||||
|
||||
/** This class implements a rectangle with rounded corners.
|
||||
* @author Tom Tromey <tromey@cygnus.com>
|
||||
* @date December 3, 2000
|
||||
@@ -60,12 +61,12 @@ public abstract class RoundRectangle2D extends RectangularShape
|
||||
* @param arcHeight The arc height
|
||||
*/
|
||||
public abstract void setRoundRect(double x, double y, double w, double h,
|
||||
double arcWidth, double arcHeight);
|
||||
double arcWidth, double arcHeight);
|
||||
|
||||
/** Create a RoundRectangle2D. This is protected because this class
|
||||
* is abstract and cannot be instantiated.
|
||||
*/
|
||||
protected RoundRectangle2D()
|
||||
protected RoundRectangle2D()
|
||||
{
|
||||
}
|
||||
|
||||
@@ -87,8 +88,11 @@ public abstract class RoundRectangle2D extends RectangularShape
|
||||
// Now check to see if the point is in range of an arc.
|
||||
double dy = Math.min(Math.abs(my - y), Math.abs(my + mh - y));
|
||||
double dx = Math.min(Math.abs(mx - x), Math.abs(mx + mw - x));
|
||||
double aw = getArcWidth();
|
||||
double ah = getArcHeight();
|
||||
|
||||
// The arc dimensions are that of the corresponding ellipse
|
||||
// thus a 90 degree segment is half of that.
|
||||
double aw = getArcWidth() / 2.0;
|
||||
double ah = getArcHeight() / 2.0;
|
||||
if (dx > aw || dy > ah)
|
||||
return true;
|
||||
|
||||
@@ -112,8 +116,8 @@ public abstract class RoundRectangle2D extends RectangularShape
|
||||
{
|
||||
// We have to check all four points here (for ordinary rectangles
|
||||
// we can just check opposing corners).
|
||||
return (contains(x, y) && contains(x + w, h)
|
||||
&& contains(x, y + h) && contains(x + w, y + h));
|
||||
return (contains(x, y) && contains(x, y + h) && contains(x + w, y + h)
|
||||
&& contains(x + w, y));
|
||||
}
|
||||
|
||||
/** Return a new path iterator which iterates over this rectangle.
|
||||
@@ -128,154 +132,161 @@ public abstract class RoundRectangle2D extends RectangularShape
|
||||
final double arcwidth = getArcWidth();
|
||||
final double archeight = getArcHeight();
|
||||
return new PathIterator()
|
||||
{
|
||||
/** We iterate clockwise around the rectangle, starting in the
|
||||
* upper left. This variable tracks our current point, which
|
||||
* can be on either side of a given corner. */
|
||||
private int current = 0;
|
||||
|
||||
/** Child path iterator, used for corners. */
|
||||
private PathIterator corner;
|
||||
|
||||
/** This is used when rendering the corners. We re-use the arc
|
||||
* for each corner. */
|
||||
private Arc2D arc = new Arc2D.Double();
|
||||
|
||||
/** Temporary array used by getPoint. */
|
||||
private double[] temp = new double[2];
|
||||
|
||||
public int getWindingRule()
|
||||
{
|
||||
return WIND_NON_ZERO;
|
||||
}
|
||||
/** We iterate counterclockwise around the rectangle, starting in the
|
||||
* upper right. This variable tracks our current point, which
|
||||
* can be on either side of a given corner. */
|
||||
private int current = 0;
|
||||
|
||||
public boolean isDone()
|
||||
{
|
||||
return current > 9;
|
||||
}
|
||||
/** Child path iterator, used for corners. */
|
||||
private PathIterator corner;
|
||||
|
||||
private void getPoint(int val)
|
||||
{
|
||||
switch (val)
|
||||
{
|
||||
case 0:
|
||||
case 8:
|
||||
temp[0] = minx;
|
||||
temp[1] = miny + archeight;
|
||||
break;
|
||||
case 1:
|
||||
temp[0] = minx + arcwidth;
|
||||
temp[1] = miny;
|
||||
break;
|
||||
case 2:
|
||||
temp[0] = maxx - arcwidth;
|
||||
temp[1] = maxy;
|
||||
break;
|
||||
case 3:
|
||||
temp[0] = maxx;
|
||||
temp[1] = miny + archeight;
|
||||
break;
|
||||
case 4:
|
||||
temp[0] = maxx;
|
||||
temp[1] = maxy - archeight;
|
||||
break;
|
||||
case 5:
|
||||
temp[0] = maxx - arcwidth;
|
||||
temp[1] = maxy;
|
||||
break;
|
||||
case 6:
|
||||
temp[0] = minx + arcwidth;
|
||||
temp[1] = maxy;
|
||||
break;
|
||||
case 7:
|
||||
temp[0] = minx;
|
||||
temp[1] = maxy - archeight;
|
||||
break;
|
||||
}
|
||||
}
|
||||
/** This is used when rendering the corners. We re-use the arc
|
||||
* for each corner. */
|
||||
private Arc2D arc = new Arc2D.Double();
|
||||
|
||||
public void next()
|
||||
{
|
||||
if (current >= 8)
|
||||
++current;
|
||||
else if (corner != null)
|
||||
{
|
||||
// We're iterating through the corner. Work on the child
|
||||
// iterator; if it finishes, reset and move to the next
|
||||
// point along the rectangle.
|
||||
corner.next();
|
||||
if (corner.isDone())
|
||||
{
|
||||
corner = null;
|
||||
++current;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// Make an arc between this point on the rectangle and
|
||||
// the next one, and then iterate over this arc.
|
||||
getPoint(current);
|
||||
double x1 = temp[0];
|
||||
double y1 = temp[1];
|
||||
getPoint(current + 1);
|
||||
arc.setFrameFromDiagonal(x1, y1, temp[0], temp[1]);
|
||||
arc.setAngles(x1, y1, temp[0], temp[1]);
|
||||
corner = arc.getPathIterator(at);
|
||||
}
|
||||
}
|
||||
/** Temporary array used by getPoint. */
|
||||
private double[] temp = new double[2];
|
||||
|
||||
public int currentSegment(float[] coords)
|
||||
{
|
||||
if (corner != null)
|
||||
{
|
||||
int r = corner.currentSegment(coords);
|
||||
if (r == SEG_MOVETO)
|
||||
r = SEG_LINETO;
|
||||
return r;
|
||||
}
|
||||
public int getWindingRule()
|
||||
{
|
||||
return WIND_NON_ZERO;
|
||||
}
|
||||
|
||||
if (current < 9)
|
||||
{
|
||||
getPoint(current);
|
||||
coords[0] = (float) temp[0];
|
||||
coords[1] = (float) temp[1];
|
||||
}
|
||||
else if (current == 9)
|
||||
return SEG_CLOSE;
|
||||
else
|
||||
throw new NoSuchElementException("rect iterator out of bounds");
|
||||
public boolean isDone()
|
||||
{
|
||||
return current > 9;
|
||||
}
|
||||
|
||||
if (at != null)
|
||||
at.transform(coords, 0, coords, 0, 1);
|
||||
return current == 0 ? SEG_MOVETO : SEG_LINETO;
|
||||
}
|
||||
private void getPoint(int val)
|
||||
{
|
||||
switch (val)
|
||||
{
|
||||
case 0:
|
||||
case 8:
|
||||
temp[0] = maxx;
|
||||
temp[1] = miny + archeight;
|
||||
break;
|
||||
case 7:
|
||||
temp[0] = maxx;
|
||||
temp[1] = maxy - archeight;
|
||||
break;
|
||||
case 6:
|
||||
temp[0] = maxx - arcwidth;
|
||||
temp[1] = maxy;
|
||||
break;
|
||||
case 5:
|
||||
temp[0] = minx + arcwidth;
|
||||
temp[1] = maxy;
|
||||
break;
|
||||
case 4:
|
||||
temp[0] = minx;
|
||||
temp[1] = maxy - archeight;
|
||||
break;
|
||||
case 3:
|
||||
temp[0] = minx;
|
||||
temp[1] = miny + archeight;
|
||||
break;
|
||||
case 2:
|
||||
temp[0] = minx + arcwidth;
|
||||
temp[1] = miny;
|
||||
break;
|
||||
case 1:
|
||||
temp[0] = maxx - arcwidth;
|
||||
temp[1] = miny;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public int currentSegment(double[] coords)
|
||||
{
|
||||
if (corner != null)
|
||||
{
|
||||
int r = corner.currentSegment(coords);
|
||||
if (r == SEG_MOVETO)
|
||||
r = SEG_LINETO;
|
||||
return r;
|
||||
}
|
||||
public void next()
|
||||
{
|
||||
if (current >= 8)
|
||||
++current;
|
||||
else if (corner != null)
|
||||
{
|
||||
// We're iterating through the corner. Work on the child
|
||||
// iterator; if it finishes, reset and move to the next
|
||||
// point along the rectangle.
|
||||
corner.next();
|
||||
if (corner.isDone())
|
||||
{
|
||||
corner = null;
|
||||
++current;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// Make an arc between this point on the rectangle and
|
||||
// the next one, and then iterate over this arc.
|
||||
getPoint(current);
|
||||
double x1 = temp[0];
|
||||
double y1 = temp[1];
|
||||
getPoint(current + 1);
|
||||
Rectangle2D.Double r = new Rectangle2D.Double(Math.min(x1,
|
||||
temp[0]),
|
||||
Math.min(y1,
|
||||
temp[1]),
|
||||
Math.abs(x1
|
||||
- temp[0]),
|
||||
Math.abs(y1
|
||||
- temp[1]));
|
||||
arc.setArc(r, (current >> 1) * 90.0, 90.0, Arc2D.OPEN);
|
||||
corner = arc.getPathIterator(at);
|
||||
}
|
||||
}
|
||||
|
||||
if (current < 9)
|
||||
{
|
||||
getPoint(current);
|
||||
coords[0] = temp[0];
|
||||
coords[1] = temp[1];
|
||||
}
|
||||
else if (current == 9)
|
||||
return SEG_CLOSE;
|
||||
else
|
||||
throw new NoSuchElementException("rect iterator out of bounds");
|
||||
public int currentSegment(float[] coords)
|
||||
{
|
||||
if (corner != null)
|
||||
{
|
||||
int r = corner.currentSegment(coords);
|
||||
if (r == SEG_MOVETO)
|
||||
r = SEG_LINETO;
|
||||
return r;
|
||||
}
|
||||
|
||||
if (at != null)
|
||||
at.transform(coords, 0, coords, 0, 1);
|
||||
return current == 0 ? SEG_MOVETO : SEG_LINETO;
|
||||
}
|
||||
};
|
||||
if (current < 9)
|
||||
{
|
||||
getPoint(current);
|
||||
coords[0] = (float) temp[0];
|
||||
coords[1] = (float) temp[1];
|
||||
}
|
||||
else if (current == 9)
|
||||
return SEG_CLOSE;
|
||||
else
|
||||
throw new NoSuchElementException("rect iterator out of bounds");
|
||||
|
||||
if (at != null)
|
||||
at.transform(coords, 0, coords, 0, 1);
|
||||
return current == 0 ? SEG_MOVETO : SEG_LINETO;
|
||||
}
|
||||
|
||||
public int currentSegment(double[] coords)
|
||||
{
|
||||
if (corner != null)
|
||||
{
|
||||
int r = corner.currentSegment(coords);
|
||||
if (r == SEG_MOVETO)
|
||||
r = SEG_LINETO;
|
||||
return r;
|
||||
}
|
||||
|
||||
if (current < 9)
|
||||
{
|
||||
getPoint(current);
|
||||
coords[0] = temp[0];
|
||||
coords[1] = temp[1];
|
||||
}
|
||||
else if (current == 9)
|
||||
return SEG_CLOSE;
|
||||
else
|
||||
throw new NoSuchElementException("rect iterator out of bounds");
|
||||
|
||||
if (at != null)
|
||||
at.transform(coords, 0, coords, 0, 1);
|
||||
return current == 0 ? SEG_MOVETO : SEG_LINETO;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
/** Return true if the given rectangle intersects this shape.
|
||||
@@ -286,14 +297,9 @@ public abstract class RoundRectangle2D extends RectangularShape
|
||||
*/
|
||||
public boolean intersects(double x, double y, double w, double h)
|
||||
{
|
||||
// Here we can use the same code we use for an ordinary rectangle.
|
||||
double mx = getX();
|
||||
double mw = getWidth();
|
||||
if (x < mx || x >= mx + mw || x + w < mx || x + w >= mx + mw)
|
||||
return false;
|
||||
double my = getY();
|
||||
double mh = getHeight();
|
||||
return y >= my && y < my + mh && y + h >= my && y + h < my + mh;
|
||||
// Check if any corner is within the rectangle
|
||||
return (contains(x, y) || contains(x, y + h) || contains(x + w, y + h)
|
||||
|| contains(x + w, y));
|
||||
}
|
||||
|
||||
/** Set the boundary of this round rectangle.
|
||||
@@ -315,7 +321,7 @@ public abstract class RoundRectangle2D extends RectangularShape
|
||||
public void setRoundRect(RoundRectangle2D rr)
|
||||
{
|
||||
setRoundRect(rr.getX(), rr.getY(), rr.getWidth(), rr.getHeight(),
|
||||
rr.getArcWidth(), rr.getArcHeight());
|
||||
rr.getArcWidth(), rr.getArcHeight());
|
||||
}
|
||||
|
||||
/** A subclass of RoundRectangle which keeps its parameters as
|
||||
@@ -353,8 +359,8 @@ public abstract class RoundRectangle2D extends RectangularShape
|
||||
* @param arcWidth The arc width
|
||||
* @param arcHeight The arc height
|
||||
*/
|
||||
public Double(double x, double y, double w, double h,
|
||||
double arcWidth, double arcHeight)
|
||||
public Double(double x, double y, double w, double h, double arcWidth,
|
||||
double arcHeight)
|
||||
{
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
@@ -405,7 +411,7 @@ public abstract class RoundRectangle2D extends RectangularShape
|
||||
}
|
||||
|
||||
public void setRoundRect(double x, double y, double w, double h,
|
||||
double arcWidth, double arcHeight)
|
||||
double arcWidth, double arcHeight)
|
||||
{
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
@@ -451,8 +457,8 @@ public abstract class RoundRectangle2D extends RectangularShape
|
||||
* @param arcWidth The arc width
|
||||
* @param arcHeight The arc height
|
||||
*/
|
||||
public Float(float x, float y, float w, float h,
|
||||
float arcWidth, float arcHeight)
|
||||
public Float(float x, float y, float w, float h, float arcWidth,
|
||||
float arcHeight)
|
||||
{
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
@@ -503,7 +509,7 @@ public abstract class RoundRectangle2D extends RectangularShape
|
||||
}
|
||||
|
||||
public void setRoundRect(float x, float y, float w, float h,
|
||||
float arcWidth, float arcHeight)
|
||||
float arcWidth, float arcHeight)
|
||||
{
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
@@ -514,7 +520,7 @@ public abstract class RoundRectangle2D extends RectangularShape
|
||||
}
|
||||
|
||||
public void setRoundRect(double x, double y, double w, double h,
|
||||
double arcWidth, double arcHeight)
|
||||
double arcWidth, double arcHeight)
|
||||
{
|
||||
this.x = (float) x;
|
||||
this.y = (float) y;
|
||||
|
||||
@@ -60,7 +60,6 @@ public class DirectColorModel extends PackedColorModel
|
||||
* @param rmask the bits describing the red component of a pixel
|
||||
* @param gmask the bits describing the green component of a pixel
|
||||
* @param bmask the bits describing the blue component of a pixel
|
||||
* @param amask the bits describing the alpha component of a pixel
|
||||
*/
|
||||
public DirectColorModel(int pixelBits, int rmask, int gmask, int bmask)
|
||||
{
|
||||
@@ -82,6 +81,7 @@ public class DirectColorModel extends PackedColorModel
|
||||
* @param rmask the bits describing the red component of a pixel
|
||||
* @param gmask the bits describing the green component of a pixel
|
||||
* @param bmask the bits describing the blue component of a pixel
|
||||
* @param amask the bits describing the alpha component of a pixel
|
||||
*/
|
||||
public DirectColorModel(int pixelBits,
|
||||
int rmask, int gmask, int bmask, int amask)
|
||||
|
||||
@@ -117,7 +117,7 @@ public class Kernel implements Cloneable
|
||||
throws IllegalArgumentException
|
||||
{
|
||||
if (data == null)
|
||||
return (float[])this.data.clone();
|
||||
return (float[])this.data.clone();
|
||||
|
||||
if (data.length < this.data.length)
|
||||
throw new IllegalArgumentException();
|
||||
@@ -131,6 +131,13 @@ public class Kernel implements Cloneable
|
||||
*/
|
||||
public Object clone()
|
||||
{
|
||||
return new Kernel(width, height, data);
|
||||
try
|
||||
{
|
||||
return super.clone();
|
||||
}
|
||||
catch (CloneNotSupportedException e)
|
||||
{
|
||||
throw (Error) new InternalError().initCause(e); // Impossible
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -43,7 +43,6 @@ import java.awt.Menu;
|
||||
public interface MenuBarPeer extends MenuComponentPeer
|
||||
{
|
||||
void addHelpMenu(Menu menu);
|
||||
void addMenu(Menu menu);
|
||||
void delMenu(int index);
|
||||
} // interface MenuBarPeer
|
||||
|
||||
|
||||
Reference in New Issue
Block a user