mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-10 21:41:14 +08:00
ToggleButtonModel.java: Remove dead class.
2004-02-09 Graydon Hoare <graydon@redhat.com> * javax/swing/ToggleButtonModel.java: Remove dead class. * javax/swing/plaf/basic/BasicDefaults.java: Remove dead class. * javax/swing/plaf/basic/BasicButtonListener.java: New class. * javax/swing/plaf/basic/BasicRootPaneUI.java: New class. * Makefile.am: Update for new and removed files. * Makefile.in: Regenerate. * gnu/java/awt/peer/gtk/GdkGraphics2D.java: Initialize default hints. * javax/swing/AbstractButton.java (AbstractButton): Initialize fields correctly in ctor. * javax/swing/JCheckbox.java (JCheckBox): Override painting flags. * javax/swing/DefaultButtonModel.java: Conform to sun. * javax/swing/JComponent.java (paint): Fill with background color if available. (processComponentKeyEvent) (processFocusEvent) (processKeyEvent) (processMouseMotionEvent): Remove event-consuming empty methods. (getUIClassID): Return "ComponentUI" not "JComponent" * javax/swing/JFrame.java: Remove some debugging chatter. (JFrame): Subscribe to window events. * javax/swing/JRadioButton.java (JRadioButton): Override painting flags. * javax/swing/JRootPane.java (JRootPane): Set background from UIDefaults. * javax/swing/JToggleButton.java (ToggleButtonModel): New inner class. (JToggleButton): Override layout alighment. * javax/swing/SwingUtilities.java: (getLocalBounds): Return width and height, not x and y. (calculateInnerArea): Use local bounds, not bounds. (layoutCompoundLabel): Provide overridden form. (layoutCompoundLabel): Correct bugs. * javax/swing/UIDefaults.java: Correct comment. * javax/swing/plaf/basic/BasicButtonUI.java: Move most logic into defaults, external listener. (paintIcon): Implement icon painting. (paint): Fix state painting to conform to changes in model. * javax/swing/plaf/basic/BasicCheckBoxUI.java: Remove most dead/wrong methods. (getDefaultIcon): Return defaults.getIcon("CheckBox.icon"). * javax/swing/plaf/basic/BasicIconFactory.java: (DummyIcon): New class. (getMenuItemCheckIcon) (getMenuItemArrowIcon) (getMenuArrowIcon) (getCheckBoxMenuItemIcon) (getRadioButtonMenuItemIcon) (createEmptyFrameIcon): Return DummyIcons, not null. (getCheckBoxIcon): Implement an icon that looks like sun's. (getRadioButtonIcon): Implement an icon that looks like sun's. * javax/swing/plaf/basic/BasicLookAndFeel.java (initComponentDefaults): Fix impossible values, add some missing. * javax/swing/plaf/basic/BasicPanelUI.java (gap): Remove field. * javax/swing/plaf/basic/BasicRadioButtonUI.java: Remove most dead/wrong methods. (icon): New field. (getDefaultIcon): New method. * javax/swing/plaf/basic/BasicToggleButtonUI.java: Remove most dead/wrong methods. * javax/swing/plaf/metal/MetalLookAndFeel.java (getDefaults): Return super.getDefaults(), not BasicDefaults. * jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c (Java_gnu_java_awt_peer_gtk_GdkGraphics_clearRect): Implement "clearing" as drawing, when on pixmap drawables. * javax/swing/JButton.java (getUIClassID): * javax/swing/JCheckBox.java (getUIClassID): * javax/swing/JEditorPane.java (getUIClassID): * javax/swing/JLabel.java (getUIClassID): * javax/swing/JList.java (getUIClassID): * javax/swing/JOptionPane.java (getUIClassID): * javax/swing/JPanel.java (getUIClassID): * javax/swing/JPasswordField.java (uiClassID): * javax/swing/JRadioButton.java (getUIClassID): * javax/swing/JRootPane.java (getUIClassID): * javax/swing/JScrollPane.java (getUIClassID): * javax/swing/JTabbedPane.java (getUIClassID): * javax/swing/JToggleButton.java (getUIClassID): * javax/swing/JTree.java (getUIClassID): * javax/swing/JViewport.java (getUIClassID): * javax/swing/text/JTextComponent.java (getUIClassID): Return "fooUI" not "Jfoo" From-SVN: r77686
This commit is contained in:
parent
feec892281
commit
9288d11204
@ -1,3 +1,90 @@
|
||||
2004-02-09 Graydon Hoare <graydon@redhat.com>
|
||||
|
||||
* javax/swing/ToggleButtonModel.java: Remove dead class.
|
||||
* javax/swing/plaf/basic/BasicDefaults.java: Remove dead class.
|
||||
* javax/swing/plaf/basic/BasicButtonListener.java: New class.
|
||||
* javax/swing/plaf/basic/BasicRootPaneUI.java: New class.
|
||||
* Makefile.am: Update for new and removed files.
|
||||
* Makefile.in: Regenerate.
|
||||
|
||||
* gnu/java/awt/peer/gtk/GdkGraphics2D.java: Initialize default hints.
|
||||
* javax/swing/AbstractButton.java
|
||||
(AbstractButton): Initialize fields correctly in ctor.
|
||||
* javax/swing/JCheckbox.java
|
||||
(JCheckBox): Override painting flags.
|
||||
* javax/swing/DefaultButtonModel.java: Conform to sun.
|
||||
* javax/swing/JComponent.java (paint): Fill with background color
|
||||
if available.
|
||||
(processComponentKeyEvent)
|
||||
(processFocusEvent)
|
||||
(processKeyEvent)
|
||||
(processMouseMotionEvent): Remove event-consuming empty methods.
|
||||
(getUIClassID): Return "ComponentUI" not "JComponent"
|
||||
* javax/swing/JFrame.java: Remove some debugging chatter.
|
||||
(JFrame): Subscribe to window events.
|
||||
* javax/swing/JRadioButton.java
|
||||
(JRadioButton): Override painting flags.
|
||||
* javax/swing/JRootPane.java
|
||||
(JRootPane): Set background from UIDefaults.
|
||||
* javax/swing/JToggleButton.java
|
||||
(ToggleButtonModel): New inner class.
|
||||
(JToggleButton): Override layout alighment.
|
||||
* javax/swing/SwingUtilities.java:
|
||||
(getLocalBounds): Return width and height, not x and y.
|
||||
(calculateInnerArea): Use local bounds, not bounds.
|
||||
(layoutCompoundLabel): Provide overridden form.
|
||||
(layoutCompoundLabel): Correct bugs.
|
||||
* javax/swing/UIDefaults.java: Correct comment.
|
||||
* javax/swing/plaf/basic/BasicButtonUI.java:
|
||||
Move most logic into defaults, external listener.
|
||||
(paintIcon): Implement icon painting.
|
||||
(paint): Fix state painting to conform to changes in model.
|
||||
* javax/swing/plaf/basic/BasicCheckBoxUI.java:
|
||||
Remove most dead/wrong methods.
|
||||
(getDefaultIcon): Return defaults.getIcon("CheckBox.icon").
|
||||
* javax/swing/plaf/basic/BasicIconFactory.java:
|
||||
(DummyIcon): New class.
|
||||
(getMenuItemCheckIcon)
|
||||
(getMenuItemArrowIcon)
|
||||
(getMenuArrowIcon)
|
||||
(getCheckBoxMenuItemIcon)
|
||||
(getRadioButtonMenuItemIcon)
|
||||
(createEmptyFrameIcon): Return DummyIcons, not null.
|
||||
(getCheckBoxIcon): Implement an icon that looks like sun's.
|
||||
(getRadioButtonIcon): Implement an icon that looks like sun's.
|
||||
* javax/swing/plaf/basic/BasicLookAndFeel.java
|
||||
(initComponentDefaults): Fix impossible values, add some missing.
|
||||
* javax/swing/plaf/basic/BasicPanelUI.java (gap): Remove field.
|
||||
* javax/swing/plaf/basic/BasicRadioButtonUI.java:
|
||||
Remove most dead/wrong methods.
|
||||
(icon): New field.
|
||||
(getDefaultIcon): New method.
|
||||
* javax/swing/plaf/basic/BasicToggleButtonUI.java:
|
||||
Remove most dead/wrong methods.
|
||||
* javax/swing/plaf/metal/MetalLookAndFeel.java
|
||||
(getDefaults): Return super.getDefaults(), not BasicDefaults.
|
||||
* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c
|
||||
(Java_gnu_java_awt_peer_gtk_GdkGraphics_clearRect):
|
||||
Implement "clearing" as drawing, when on pixmap drawables.
|
||||
|
||||
* javax/swing/JButton.java (getUIClassID):
|
||||
* javax/swing/JCheckBox.java (getUIClassID):
|
||||
* javax/swing/JEditorPane.java (getUIClassID):
|
||||
* javax/swing/JLabel.java (getUIClassID):
|
||||
* javax/swing/JList.java (getUIClassID):
|
||||
* javax/swing/JOptionPane.java (getUIClassID):
|
||||
* javax/swing/JPanel.java (getUIClassID):
|
||||
* javax/swing/JPasswordField.java (uiClassID):
|
||||
* javax/swing/JRadioButton.java (getUIClassID):
|
||||
* javax/swing/JRootPane.java (getUIClassID):
|
||||
* javax/swing/JScrollPane.java (getUIClassID):
|
||||
* javax/swing/JTabbedPane.java (getUIClassID):
|
||||
* javax/swing/JToggleButton.java (getUIClassID):
|
||||
* javax/swing/JTree.java (getUIClassID):
|
||||
* javax/swing/JViewport.java (getUIClassID):
|
||||
* javax/swing/text/JTextComponent.java (getUIClassID):
|
||||
Return "fooUI" not "Jfoo"
|
||||
|
||||
2004-02-11 Michael Koch <konqueror@gmx.de>
|
||||
|
||||
* java/net/DatagramSocket.java
|
||||
|
@ -1287,16 +1287,18 @@ javax/swing/border/TitledBorder.java \
|
||||
javax/swing/GrayFilter.java \
|
||||
javax/swing/AbstractAction.java \
|
||||
javax/swing/AbstractButton.java \
|
||||
javax/swing/plaf/basic/BasicButtonListener.java \
|
||||
javax/swing/plaf/basic/BasicButtonUI.java \
|
||||
javax/swing/plaf/basic/BasicCheckBoxUI.java \
|
||||
javax/swing/plaf/basic/BasicDefaults.java \
|
||||
javax/swing/plaf/basic/BasicGraphicsUtils.java \
|
||||
javax/swing/plaf/basic/BasicLabelUI.java \
|
||||
javax/swing/plaf/basic/BasicListUI.java \
|
||||
javax/swing/plaf/basic/BasicOptionPaneUI.java \
|
||||
javax/swing/plaf/basic/BasicPanelUI.java \
|
||||
javax/swing/plaf/basic/BasicRootPaneUI.java \
|
||||
javax/swing/plaf/basic/BasicRadioButtonUI.java \
|
||||
javax/swing/plaf/basic/BasicScrollPaneUI.java \
|
||||
javax/swing/plaf/basic/BasicSliderUI.java \
|
||||
javax/swing/plaf/basic/BasicSplitPaneDivider.java \
|
||||
javax/swing/plaf/basic/BasicSplitPaneUI.java \
|
||||
javax/swing/plaf/basic/BasicTabbedPaneUI.java \
|
||||
@ -1416,7 +1418,6 @@ javax/swing/Scrollable.java \
|
||||
javax/swing/SwingConstants.java \
|
||||
javax/swing/SwingUtilities.java \
|
||||
javax/swing/Timer.java \
|
||||
javax/swing/ToggleButtonModel.java \
|
||||
javax/swing/UIDefaults.java \
|
||||
javax/swing/UIManager.java \
|
||||
javax/swing/UnsupportedLookAndFeelException.java \
|
||||
|
@ -1,6 +1,6 @@
|
||||
# Makefile.in generated automatically by automake 1.4 from Makefile.am
|
||||
# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
|
||||
|
||||
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
@ -992,16 +992,18 @@ javax/swing/border/TitledBorder.java \
|
||||
javax/swing/GrayFilter.java \
|
||||
javax/swing/AbstractAction.java \
|
||||
javax/swing/AbstractButton.java \
|
||||
javax/swing/plaf/basic/BasicButtonListener.java \
|
||||
javax/swing/plaf/basic/BasicButtonUI.java \
|
||||
javax/swing/plaf/basic/BasicCheckBoxUI.java \
|
||||
javax/swing/plaf/basic/BasicDefaults.java \
|
||||
javax/swing/plaf/basic/BasicGraphicsUtils.java \
|
||||
javax/swing/plaf/basic/BasicLabelUI.java \
|
||||
javax/swing/plaf/basic/BasicListUI.java \
|
||||
javax/swing/plaf/basic/BasicOptionPaneUI.java \
|
||||
javax/swing/plaf/basic/BasicPanelUI.java \
|
||||
javax/swing/plaf/basic/BasicRootPaneUI.java \
|
||||
javax/swing/plaf/basic/BasicRadioButtonUI.java \
|
||||
javax/swing/plaf/basic/BasicScrollPaneUI.java \
|
||||
javax/swing/plaf/basic/BasicSliderUI.java \
|
||||
javax/swing/plaf/basic/BasicSplitPaneDivider.java \
|
||||
javax/swing/plaf/basic/BasicSplitPaneUI.java \
|
||||
javax/swing/plaf/basic/BasicTabbedPaneUI.java \
|
||||
@ -1121,7 +1123,6 @@ javax/swing/Scrollable.java \
|
||||
javax/swing/SwingConstants.java \
|
||||
javax/swing/SwingUtilities.java \
|
||||
javax/swing/Timer.java \
|
||||
javax/swing/ToggleButtonModel.java \
|
||||
javax/swing/UIDefaults.java \
|
||||
javax/swing/UIManager.java \
|
||||
javax/swing/UnsupportedLookAndFeelException.java \
|
||||
@ -2734,83 +2735,6 @@ org/w3c/dom/traversal/NodeFilter.lo \
|
||||
org/w3c/dom/traversal/NodeIterator.lo \
|
||||
org/w3c/dom/traversal/TreeWalker.lo
|
||||
lib_gnu_java_awt_peer_gtk_la_DEPENDENCIES =
|
||||
@GTK_CAIRO_FALSE@lib_gnu_java_awt_peer_gtk_la_OBJECTS = \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GdkClasspathFontPeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GdkClasspathFontPeerMetrics.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GdkFontMetrics.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GdkGlyphVector.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GdkGraphics.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GdkGraphics2D.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GdkPixbufDecoder.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkArg.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkArgList.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkButtonPeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkCanvasPeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkCheckboxGroupPeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkCheckboxMenuItemPeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkCheckboxPeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkChoicePeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkClipboard.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkComponentPeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkContainerPeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkDialogPeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkEmbeddedWindowPeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkFileDialogPeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkFontPeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkFramePeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkGenericPeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkImage.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkImagePainter.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkLabelPeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkListPeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkMainThread.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkMenuBarPeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkMenuComponentPeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkMenuItemPeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkMenuPeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkOffScreenImage.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkPanelPeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkPopupMenuPeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkScrollPanePeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkScrollbarPeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkTextAreaPeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkTextComponentPeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkTextFieldPeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkToolkit.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkWindowPeer.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontMetrics.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCanvasPeer.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkClipboard.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFileDialogPeer.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImagePainter.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkListPeer.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuBarPeer.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuComponentPeer.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuItemPeer.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuPeer.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPanelPeer.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollBarPeer.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollPanePeer.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextComponentPeer.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gthread-jni.lo jni/classpath/jcl.lo \
|
||||
@GTK_CAIRO_FALSE@jni/classpath/jnilink.lo jni/classpath/native_state.lo \
|
||||
@GTK_CAIRO_FALSE@jni/classpath/primlib.lo
|
||||
@GTK_CAIRO_TRUE@lib_gnu_java_awt_peer_gtk_la_OBJECTS = \
|
||||
@GTK_CAIRO_TRUE@gnu/java/awt/peer/gtk/GdkClasspathFontPeer.lo \
|
||||
@GTK_CAIRO_TRUE@gnu/java/awt/peer/gtk/GdkClasspathFontPeerMetrics.lo \
|
||||
@ -2892,6 +2816,83 @@ lib_gnu_java_awt_peer_gtk_la_DEPENDENCIES =
|
||||
@GTK_CAIRO_TRUE@jni/gtk-peer/gthread-jni.lo jni/classpath/jcl.lo \
|
||||
@GTK_CAIRO_TRUE@jni/classpath/jnilink.lo jni/classpath/native_state.lo \
|
||||
@GTK_CAIRO_TRUE@jni/classpath/primlib.lo
|
||||
@GTK_CAIRO_FALSE@lib_gnu_java_awt_peer_gtk_la_OBJECTS = \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GdkClasspathFontPeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GdkClasspathFontPeerMetrics.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GdkFontMetrics.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GdkGlyphVector.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GdkGraphics.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GdkGraphics2D.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GdkPixbufDecoder.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkArg.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkArgList.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkButtonPeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkCanvasPeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkCheckboxGroupPeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkCheckboxMenuItemPeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkCheckboxPeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkChoicePeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkClipboard.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkComponentPeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkContainerPeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkDialogPeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkEmbeddedWindowPeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkFileDialogPeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkFontPeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkFramePeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkGenericPeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkImage.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkImagePainter.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkLabelPeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkListPeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkMainThread.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkMenuBarPeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkMenuComponentPeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkMenuItemPeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkMenuPeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkOffScreenImage.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkPanelPeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkPopupMenuPeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkScrollPanePeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkScrollbarPeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkTextAreaPeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkTextComponentPeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkTextFieldPeer.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkToolkit.lo \
|
||||
@GTK_CAIRO_FALSE@gnu/java/awt/peer/gtk/GtkWindowPeer.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontMetrics.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCanvasPeer.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkClipboard.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFileDialogPeer.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImagePainter.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkListPeer.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuBarPeer.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuComponentPeer.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuItemPeer.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuPeer.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPanelPeer.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollBarPeer.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollPanePeer.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextComponentPeer.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.lo \
|
||||
@GTK_CAIRO_FALSE@jni/gtk-peer/gthread-jni.lo jni/classpath/jcl.lo \
|
||||
@GTK_CAIRO_FALSE@jni/classpath/jnilink.lo jni/classpath/native_state.lo \
|
||||
@GTK_CAIRO_FALSE@jni/classpath/primlib.lo
|
||||
lib_gnu_awt_xlib_la_OBJECTS = gnu/gcj/xlib/natClip.lo \
|
||||
gnu/gcj/xlib/natColormap.lo gnu/gcj/xlib/natDisplay.lo \
|
||||
gnu/gcj/xlib/natDrawable.lo gnu/gcj/xlib/natFont.lo \
|
||||
@ -4368,9 +4369,8 @@ DEP_FILES = .deps/$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.P \
|
||||
.deps/javax/swing/SingleSelectionModel.P \
|
||||
.deps/javax/swing/SizeRequirements.P .deps/javax/swing/SizeSequence.P \
|
||||
.deps/javax/swing/SwingConstants.P .deps/javax/swing/SwingUtilities.P \
|
||||
.deps/javax/swing/Timer.P .deps/javax/swing/ToggleButtonModel.P \
|
||||
.deps/javax/swing/ToolTipManager.P .deps/javax/swing/UIDefaults.P \
|
||||
.deps/javax/swing/UIManager.P \
|
||||
.deps/javax/swing/Timer.P .deps/javax/swing/ToolTipManager.P \
|
||||
.deps/javax/swing/UIDefaults.P .deps/javax/swing/UIManager.P \
|
||||
.deps/javax/swing/UnsupportedLookAndFeelException.P \
|
||||
.deps/javax/swing/ViewportLayout.P .deps/javax/swing/WindowConstants.P \
|
||||
.deps/javax/swing/border/AbstractBorder.P \
|
||||
@ -4466,9 +4466,9 @@ DEP_FILES = .deps/$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.P \
|
||||
.deps/javax/swing/plaf/ToolTipUI.P .deps/javax/swing/plaf/TreeUI.P \
|
||||
.deps/javax/swing/plaf/UIResource.P .deps/javax/swing/plaf/ViewportUI.P \
|
||||
.deps/javax/swing/plaf/basic/BasicBorders.P \
|
||||
.deps/javax/swing/plaf/basic/BasicButtonListener.P \
|
||||
.deps/javax/swing/plaf/basic/BasicButtonUI.P \
|
||||
.deps/javax/swing/plaf/basic/BasicCheckBoxUI.P \
|
||||
.deps/javax/swing/plaf/basic/BasicDefaults.P \
|
||||
.deps/javax/swing/plaf/basic/BasicGraphicsUtils.P \
|
||||
.deps/javax/swing/plaf/basic/BasicIconFactory.P \
|
||||
.deps/javax/swing/plaf/basic/BasicLabelUI.P \
|
||||
@ -4477,7 +4477,9 @@ DEP_FILES = .deps/$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.P \
|
||||
.deps/javax/swing/plaf/basic/BasicOptionPaneUI.P \
|
||||
.deps/javax/swing/plaf/basic/BasicPanelUI.P \
|
||||
.deps/javax/swing/plaf/basic/BasicRadioButtonUI.P \
|
||||
.deps/javax/swing/plaf/basic/BasicRootPaneUI.P \
|
||||
.deps/javax/swing/plaf/basic/BasicScrollPaneUI.P \
|
||||
.deps/javax/swing/plaf/basic/BasicSliderUI.P \
|
||||
.deps/javax/swing/plaf/basic/BasicSplitPaneDivider.P \
|
||||
.deps/javax/swing/plaf/basic/BasicSplitPaneUI.P \
|
||||
.deps/javax/swing/plaf/basic/BasicTabbedPaneUI.P \
|
||||
@ -4652,8 +4654,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
|
||||
&& CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
|
||||
|
||||
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in acinclude.m4 \
|
||||
./acinclude.m4 ./aclocal.m4 ./glib-2.0.m4 ./gtk-2.0.m4 \
|
||||
./libart.m4
|
||||
./acinclude.m4 ./aclocal.m4 ./pkg.m4
|
||||
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
|
||||
|
||||
config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
@ -4887,7 +4888,7 @@ uninstall-toolexecmainlibDATA:
|
||||
all-recursive install-data-recursive install-exec-recursive \
|
||||
installdirs-recursive install-recursive uninstall-recursive \
|
||||
check-recursive installcheck-recursive info-recursive dvi-recursive:
|
||||
@set fnord $(MAKEFLAGS); amf=$$2; \
|
||||
@set fnord $$MAKEFLAGS; amf=$$2; \
|
||||
dot_seen=no; \
|
||||
target=`echo $@ | sed s/-recursive//`; \
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
@ -4907,11 +4908,11 @@ check-recursive installcheck-recursive info-recursive dvi-recursive:
|
||||
|
||||
mostlyclean-recursive clean-recursive distclean-recursive \
|
||||
maintainer-clean-recursive:
|
||||
@set fnord $(MAKEFLAGS); amf=$$2; \
|
||||
@set fnord $$MAKEFLAGS; amf=$$2; \
|
||||
dot_seen=no; \
|
||||
rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
rev="$$subdir $$rev"; \
|
||||
test "$$subdir" = "." && dot_seen=yes; \
|
||||
test "$$subdir" != "." || dot_seen=yes; \
|
||||
done; \
|
||||
test "$$dot_seen" = "no" && rev=". $$rev"; \
|
||||
target=`echo $@ | sed s/-recursive//`; \
|
||||
|
@ -158,7 +158,7 @@ public class GdkGraphics2D extends Graphics2D
|
||||
setFont (new Font("SansSerif", Font.PLAIN, 12));
|
||||
setTransform (new AffineTransform ());
|
||||
setStroke (new BasicStroke ());
|
||||
setRenderingHints (new HashMap ());
|
||||
setRenderingHints (getDefaultHints());
|
||||
|
||||
stateStack = new Stack();
|
||||
}
|
||||
@ -174,7 +174,7 @@ public class GdkGraphics2D extends Graphics2D
|
||||
setFont (new Font("SansSerif", Font.PLAIN, 12));
|
||||
setTransform (new AffineTransform ());
|
||||
setStroke (new BasicStroke ());
|
||||
setRenderingHints (new HashMap ());
|
||||
setRenderingHints (getDefaultHints());
|
||||
|
||||
stateStack = new Stack ();
|
||||
}
|
||||
|
@ -186,19 +186,19 @@ public abstract class AbstractButton extends JComponent
|
||||
String text;
|
||||
|
||||
/** The vertical alignment of the button's text and icon. */
|
||||
int vert_align = CENTER;
|
||||
int vert_align;
|
||||
|
||||
/** The horizontal alignment of the button's text and icon. */
|
||||
int hori_align = CENTER;
|
||||
int hori_align;
|
||||
|
||||
/** The horizontal position of the button's text relative to its icon. */
|
||||
int hori_text_pos = CENTER;
|
||||
int hori_text_pos;
|
||||
|
||||
/** The vertical position of the button's text relative to its icon. */
|
||||
int vert_text_pos = CENTER;
|
||||
int vert_text_pos;
|
||||
|
||||
/** Whether or not the button paints its border. */
|
||||
boolean paint_border = true;
|
||||
boolean paint_border;
|
||||
|
||||
/** Whether or not the button paints its focus state. */
|
||||
boolean paint_focus;
|
||||
@ -487,8 +487,16 @@ public abstract class AbstractButton extends JComponent
|
||||
model.addChangeListener(changeListener);
|
||||
model.addItemListener(itemListener);
|
||||
|
||||
hori_align = CENTER;
|
||||
hori_text_pos = TRAILING;
|
||||
vert_align = CENTER;
|
||||
vert_text_pos = CENTER;
|
||||
paint_border = true;
|
||||
content_area_filled = true;
|
||||
|
||||
setAlignmentX(LEFT_ALIGNMENT);
|
||||
setAlignmentY(CENTER_ALIGNMENT);
|
||||
|
||||
addFocusListener(new ButtonFocusListener());
|
||||
updateUI();
|
||||
}
|
||||
|
@ -55,15 +55,23 @@ import javax.swing.event.EventListenerList;
|
||||
* button. The concrete button type holding this state may be a a "toggle"
|
||||
* button (checkbox, radio button) or a "push" button (menu button, button).
|
||||
*
|
||||
* Any change to the model's properties will trigger the firing of a
|
||||
* ChangeEvent.
|
||||
* If the model is disabled, only the "selected" property can be changed.
|
||||
* An attempt to change the "armed", "rollover" or "pressed" properties
|
||||
* while the model is disabled will be blocked.
|
||||
*
|
||||
* Any change to the "pressed" property will trigger the firing of an
|
||||
* ItemEvent in addition to ChangeEvent.
|
||||
* Any successful (non-blocked) change to the model's properties will
|
||||
* trigger the firing of a ChangeEvent.
|
||||
*
|
||||
* Any change which causes the enabled, armed and pressed properties to
|
||||
* simultaneously become <code>true</code> will trigger the firing of an
|
||||
* ActionEvent in addition to the ChangeEvent.
|
||||
* Any change to the "selected" property will trigger the firing of an
|
||||
* ItemEvent in addition to ChangeEvent. This is true whether the model is
|
||||
* enabled or not.
|
||||
*
|
||||
* One other state change is special: the transition from "enabled, armed
|
||||
* and pressd" to "enabled, armed and not-pressed". This is considered the
|
||||
* "trailing edge" of a successful mouse click, and therefore fires an
|
||||
* ActionEvent in addition to a ChangeEvent.
|
||||
*
|
||||
* In all other respects this class is just a container of boolean flags.
|
||||
*
|
||||
* @author Graydon Hoare (graydon&064;redhat.com)
|
||||
*/
|
||||
@ -80,9 +88,9 @@ public class DefaultButtonModel implements ButtonModel, Serializable
|
||||
be pressed or selected unless they are enabled. */
|
||||
static int ENABLED = 2;
|
||||
|
||||
/** State constant indicating that the button has been fully
|
||||
pressed. This usually happens when a user has released the mouse over a
|
||||
previously "armed" button. */
|
||||
/** State constant indicating that the user is holding down the button.
|
||||
When this transitions from true to false, an ActionEvent may be fired,
|
||||
depending on the value of the "armed" property.*/
|
||||
static int PRESSED = 4;
|
||||
|
||||
/** State constant indicating that the mouse is currently positioned over
|
||||
@ -108,8 +116,8 @@ public class DefaultButtonModel implements ButtonModel, Serializable
|
||||
|
||||
/** The group this model belongs to. Only one button in a group may be
|
||||
selected at any given time. */
|
||||
ButtonGroup group;
|
||||
|
||||
ButtonGroup group;
|
||||
|
||||
/** The key code (one of {@link java.awt.event.KeyEvent} VK_*) used to
|
||||
press this button via a keyboard interface. */
|
||||
int mnemonic;
|
||||
@ -120,7 +128,8 @@ public class DefaultButtonModel implements ButtonModel, Serializable
|
||||
|
||||
public DefaultButtonModel()
|
||||
{
|
||||
stateMask = 0;
|
||||
stateMask = ENABLED;
|
||||
mnemonic = java.awt.event.KeyEvent.VK_UNDEFINED;
|
||||
listenerList = new EventListenerList();
|
||||
changeEvent = new ChangeEvent(this);
|
||||
}
|
||||
@ -143,10 +152,10 @@ public class DefaultButtonModel implements ButtonModel, Serializable
|
||||
* @param l The listener to add
|
||||
*/
|
||||
public void addActionListener(ActionListener l)
|
||||
{
|
||||
{
|
||||
listenerList.add(ActionListener.class, l);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove an ActionListener to the model. Usually only called to
|
||||
* unsubscribe an AbstractButton's listener to the model.
|
||||
@ -262,13 +271,15 @@ public class DefaultButtonModel implements ButtonModel, Serializable
|
||||
if (oldstate == newstate)
|
||||
return;
|
||||
|
||||
if ((stateflag != SELECTED)
|
||||
&& (stateflag != ENABLED)
|
||||
&& (stateMask & ENABLED) == 0)
|
||||
return;
|
||||
|
||||
stateMask = newstate;
|
||||
|
||||
fireStateChanged(changeEvent);
|
||||
|
||||
if ((newstate & ENABLED) == 0)
|
||||
return;
|
||||
|
||||
if ((oldstate & SELECTED) == 0
|
||||
&& (newstate & SELECTED) == SELECTED)
|
||||
fireItemStateChanged(new ItemEvent(this, ItemEvent.ITEM_STATE_CHANGED,
|
||||
@ -278,27 +289,26 @@ public class DefaultButtonModel implements ButtonModel, Serializable
|
||||
&& (newstate & SELECTED) == 0)
|
||||
fireItemStateChanged(new ItemEvent(this, ItemEvent.ITEM_STATE_CHANGED,
|
||||
null, ItemEvent.DESELECTED));
|
||||
|
||||
else if ((newstate & ARMED) == ARMED
|
||||
&& (newstate & PRESSED) == PRESSED)
|
||||
{
|
||||
|
||||
else if (((oldstate & ARMED) == ARMED && (oldstate & PRESSED) == PRESSED)
|
||||
&&
|
||||
((newstate & ARMED) == ARMED && (newstate & PRESSED) == 0))
|
||||
{
|
||||
fireActionPerformed(new ActionEvent(this, ActionEvent.ACTION_PERFORMED,
|
||||
actionCommand));
|
||||
stateMask = stateMask & ~(PRESSED | ARMED);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get the value of the model's "armed" property.
|
||||
*
|
||||
* @return The current "armed" property
|
||||
*/
|
||||
public boolean isArmed()
|
||||
{
|
||||
{
|
||||
return (stateMask & ARMED) == ARMED;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the value of the model's "armed" property.
|
||||
*
|
||||
@ -396,7 +406,7 @@ public class DefaultButtonModel implements ButtonModel, Serializable
|
||||
* @return The current "mnemonic" property
|
||||
*/
|
||||
public int getMnemonic()
|
||||
{
|
||||
{
|
||||
return mnemonic;
|
||||
}
|
||||
|
||||
@ -406,14 +416,14 @@ public class DefaultButtonModel implements ButtonModel, Serializable
|
||||
* @param key The new "mnemonic" property
|
||||
*/
|
||||
public void setMnemonic(int key)
|
||||
{
|
||||
{
|
||||
if (mnemonic != key)
|
||||
{
|
||||
{
|
||||
mnemonic = key;
|
||||
fireStateChanged(changeEvent);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Set the value of the model's "actionCommand" property. This property
|
||||
* is used as the "command" property of the {@link ActionEvent} fired
|
||||
@ -422,14 +432,14 @@ public class DefaultButtonModel implements ButtonModel, Serializable
|
||||
* @param s The new "actionCommand" property.
|
||||
*/
|
||||
public void setActionCommand(String s)
|
||||
{
|
||||
{
|
||||
if (actionCommand != s)
|
||||
{
|
||||
actionCommand = s;
|
||||
fireStateChanged(changeEvent);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the value of the model's "actionCommand" property. This property
|
||||
* is used as the "command" property of the {@link ActionEvent} fired
|
||||
@ -438,7 +448,7 @@ public class DefaultButtonModel implements ButtonModel, Serializable
|
||||
* @return The current "actionCommand" property
|
||||
*/
|
||||
public String getActionCommand()
|
||||
{
|
||||
{
|
||||
return actionCommand;
|
||||
}
|
||||
|
||||
@ -456,6 +466,6 @@ public class DefaultButtonModel implements ButtonModel, Serializable
|
||||
{
|
||||
group = g;
|
||||
fireStateChanged(changeEvent);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -98,7 +98,7 @@ public class JButton extends AbstractButton implements Accessible
|
||||
public String getUIClassID()
|
||||
{
|
||||
//Returns a string that specifies the name of the L&F class that renders this component.
|
||||
return "JButton";
|
||||
return "ButtonUI";
|
||||
}
|
||||
|
||||
public boolean isDefaultButton()
|
||||
|
@ -70,6 +70,8 @@ public class JCheckBox extends JToggleButton
|
||||
public JCheckBox(String text, Icon icon)
|
||||
{
|
||||
super(text, icon);
|
||||
paint_border = false;
|
||||
content_area_filled = false;
|
||||
}
|
||||
|
||||
|
||||
@ -82,7 +84,7 @@ public class JCheckBox extends JToggleButton
|
||||
public String getUIClassID()
|
||||
{
|
||||
//Returns a string that specifies the name of the L&F class that renders this component.
|
||||
return "JCheckBox";
|
||||
return "CheckBoxUI";
|
||||
}
|
||||
|
||||
protected String paramString()
|
||||
|
@ -763,9 +763,17 @@ public abstract class JComponent extends Container implements Serializable
|
||||
|
||||
if (use_double_buffer)
|
||||
{
|
||||
im = createImage (r.width, r.height);
|
||||
g2 = im.getGraphics ();
|
||||
g2.clearRect (0, 0, r.width, r.height);
|
||||
im = createImage (r.width, r.height);
|
||||
g2 = im.getGraphics ();
|
||||
if (this.getBackground() != null)
|
||||
{
|
||||
Color save = g2.getColor();
|
||||
g2.setColor(this.getBackground());
|
||||
g2.fillRect (0, 0, r.width, r.height);
|
||||
g2.setColor(save);
|
||||
}
|
||||
else
|
||||
g2.clearRect(0, 0, r.width, r.height);
|
||||
}
|
||||
|
||||
paintBorder(g2);
|
||||
@ -837,28 +845,6 @@ public abstract class JComponent extends Container implements Serializable
|
||||
// Returns a string representation of this JComponent.
|
||||
return "JComponent";
|
||||
}
|
||||
protected void processComponentKeyEvent(KeyEvent e)
|
||||
{
|
||||
// Process any key events that the component itself recognizes.
|
||||
//System.out.println("COMP_KEY-EVENT: " + e);
|
||||
}
|
||||
protected void processFocusEvent(FocusEvent e)
|
||||
{
|
||||
// Processes focus events occurring on this component by dispatching them to any registered FocusListener objects.
|
||||
//System.out.println("FOCUS_EVENT: " + e);
|
||||
}
|
||||
|
||||
protected void processKeyEvent(KeyEvent e)
|
||||
{
|
||||
// Override processKeyEvent to process events protected
|
||||
//System.out.println("KEY-EVENT: " + e);
|
||||
}
|
||||
|
||||
public void processMouseMotionEvent(MouseEvent e)
|
||||
{
|
||||
// Processes mouse motion events occurring on this component by dispatching them to any registered MouseMotionListener objects.
|
||||
//System.out.println("COMP_MOUSE-EVENT: " + e + ", MEMORY = " + Runtime.getRuntime().freeMemory());
|
||||
}
|
||||
|
||||
public void registerKeyboardAction(ActionListener anAction,
|
||||
KeyStroke aKeyStroke,
|
||||
@ -1044,7 +1030,7 @@ public abstract class JComponent extends Container implements Serializable
|
||||
public String getUIClassID()
|
||||
{
|
||||
/// Return the UIDefaults key used to look up the name of the swing.
|
||||
return "JComponent";
|
||||
return "ComponentUI";
|
||||
}
|
||||
|
||||
protected void setUI(ComponentUI newUI)
|
||||
|
@ -137,7 +137,7 @@ public class JEditorPane extends JTextComponent
|
||||
{ return super.getText(); }
|
||||
|
||||
public String getUIClassID()
|
||||
{ return "JEditorPane"; }
|
||||
{ return "EditorPaneUI"; }
|
||||
|
||||
public boolean isFocusCycleRoot()
|
||||
{ return focus_root; }
|
||||
|
@ -38,6 +38,7 @@ exception statement from your version. */
|
||||
|
||||
package javax.swing;
|
||||
|
||||
import java.awt.AWTEvent;
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.Component;
|
||||
import java.awt.Container;
|
||||
@ -105,6 +106,7 @@ public class JFrame extends Frame
|
||||
protected void frameInit()
|
||||
{
|
||||
super.setLayout(new BorderLayout(1, 1));
|
||||
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
|
||||
getRootPane(); // will do set/create
|
||||
}
|
||||
|
||||
@ -201,9 +203,7 @@ public class JFrame extends Frame
|
||||
|
||||
protected void processWindowEvent(WindowEvent e)
|
||||
{
|
||||
// System.out.println("PROCESS_WIN_EV-1: " + e);
|
||||
super.processWindowEvent(e);
|
||||
// System.out.println("PROCESS_WIN_EV-2: " + e);
|
||||
switch (e.getID())
|
||||
{
|
||||
case WindowEvent.WINDOW_CLOSING:
|
||||
@ -212,13 +212,11 @@ public class JFrame extends Frame
|
||||
{
|
||||
case EXIT_ON_CLOSE:
|
||||
{
|
||||
System.out.println("user requested exit on close");
|
||||
System.exit(1);
|
||||
break;
|
||||
}
|
||||
case DISPOSE_ON_CLOSE:
|
||||
{
|
||||
System.out.println("user requested dispose on close");
|
||||
dispose();
|
||||
break;
|
||||
}
|
||||
|
@ -148,7 +148,7 @@ public class JLabel extends JComponent implements Accessible, SwingConstants
|
||||
{ return text; }
|
||||
|
||||
public String getUIClassID()
|
||||
{ return "JLabel"; }
|
||||
{ return "LabelUI"; }
|
||||
|
||||
public int getVerticalAlignment()
|
||||
{
|
||||
|
@ -212,7 +212,7 @@ public class JList extends JComponent implements Accessible, Scrollable
|
||||
|
||||
public String getUIClassID()
|
||||
{
|
||||
return "JList";
|
||||
return "ListUI";
|
||||
}
|
||||
|
||||
|
||||
|
@ -161,7 +161,7 @@ public class JOptionPane extends JComponent
|
||||
{ return val; }
|
||||
|
||||
public String getUIClassID()
|
||||
{ return "JOptionPane"; }
|
||||
{ return "OptionPaneUI"; }
|
||||
|
||||
|
||||
public void setUI(OptionPaneUI ui) {
|
||||
|
@ -85,7 +85,7 @@ public class JPanel extends JComponent implements Accessible
|
||||
}
|
||||
|
||||
public String getUIClassID()
|
||||
{ return "JPanel"; }
|
||||
{ return "PanelUI"; }
|
||||
|
||||
|
||||
public void setUI(PanelUI ui) {
|
||||
|
@ -102,7 +102,7 @@ public class JPasswordField extends JTextField {
|
||||
/**
|
||||
* uiClassID
|
||||
*/
|
||||
private static final String uiClassID = "PasswordFIeldUI";
|
||||
private static final String uiClassID = "PasswordFieldUI";
|
||||
|
||||
/**
|
||||
* echoChar. Default is 0
|
||||
|
@ -65,6 +65,8 @@ public class JRadioButton extends JToggleButton
|
||||
public JRadioButton(String text, Icon icon)
|
||||
{
|
||||
super(text, icon);
|
||||
paint_border = false;
|
||||
content_area_filled = false;
|
||||
}
|
||||
|
||||
|
||||
@ -77,7 +79,7 @@ public class JRadioButton extends JToggleButton
|
||||
public String getUIClassID()
|
||||
{
|
||||
//Returns a string that specifies the name of the L&F class that renders this component.
|
||||
return "JRadioButton";
|
||||
return "RadioButtonUI";
|
||||
}
|
||||
|
||||
protected String paramString()
|
||||
|
@ -75,7 +75,6 @@ public class JRootPane extends JComponent
|
||||
public Dimension preferredLayoutSize ( Container c )
|
||||
{
|
||||
Dimension p = super.preferredLayoutSize(c);
|
||||
System.out.println(" PREF-SIZE from RootLayout = " + p);
|
||||
return p;
|
||||
}
|
||||
}
|
||||
@ -97,7 +96,7 @@ public class JRootPane extends JComponent
|
||||
/********************************************************/
|
||||
|
||||
public String getUIClassID()
|
||||
{ return "JPanel"; }
|
||||
{ return "RootPaneUI"; }
|
||||
|
||||
|
||||
void setJMenuBar(JMenuBar m)
|
||||
@ -169,7 +168,7 @@ public class JRootPane extends JComponent
|
||||
JRootPane()
|
||||
{
|
||||
setLayout(createRootLayout());
|
||||
|
||||
setBackground(UIManager.getColor("control"));
|
||||
getGlassPane();
|
||||
getLayeredPane();
|
||||
getContentPane();
|
||||
|
@ -86,7 +86,7 @@ public class JScrollPane extends JComponent implements Accessible, ScrollPaneCon
|
||||
public String getUIClassID()
|
||||
{
|
||||
//Returns a string that specifies the name of the L&F class that renders this component.
|
||||
return "JScrollPane";
|
||||
return "ScrollPaneUI";
|
||||
}
|
||||
|
||||
public JViewport getViewport()
|
||||
|
@ -102,7 +102,7 @@ public class JTabbedPane extends JComponent implements Accessible, SwingConstant
|
||||
}
|
||||
|
||||
public String getUIClassID()
|
||||
{ return "JTabbedPane"; }
|
||||
{ return "TabbedPaneUI"; }
|
||||
|
||||
|
||||
public void setUI(TabbedPaneUI ui) {
|
||||
|
@ -44,66 +44,83 @@ import javax.swing.plaf.ButtonUI;
|
||||
|
||||
public class JToggleButton extends AbstractButton implements Accessible
|
||||
{
|
||||
public JToggleButton()
|
||||
{
|
||||
this(null, null);
|
||||
}
|
||||
public JToggleButton(Action a)
|
||||
{
|
||||
this();
|
||||
setAction(a);
|
||||
}
|
||||
|
||||
public JToggleButton(Icon icon)
|
||||
{
|
||||
this(null, icon);
|
||||
}
|
||||
|
||||
public JToggleButton(String text)
|
||||
public class ToggleButtonModel extends DefaultButtonModel
|
||||
{
|
||||
public void setPressed(boolean b)
|
||||
{
|
||||
this(text, null);
|
||||
}
|
||||
if (! isEnabled())
|
||||
return;
|
||||
|
||||
public JToggleButton(String text, Icon icon)
|
||||
{
|
||||
this(text, icon, false);
|
||||
super.setPressed(b);
|
||||
|
||||
// setPressed(false) == mouse release on us,
|
||||
// if we were armed, we flip the selected state.
|
||||
if (!b && isArmed())
|
||||
setSelected(! isSelected());
|
||||
}
|
||||
}
|
||||
|
||||
public JToggleButton (String text, Icon icon, boolean selected)
|
||||
{
|
||||
super(text, icon);
|
||||
|
||||
// Create the model
|
||||
setModel(new ToggleButtonModel());
|
||||
|
||||
model.setSelected(selected);
|
||||
}
|
||||
public JToggleButton()
|
||||
{
|
||||
this(null, null);
|
||||
}
|
||||
public JToggleButton(Action a)
|
||||
{
|
||||
this();
|
||||
setAction(a);
|
||||
}
|
||||
|
||||
public JToggleButton(Icon icon)
|
||||
{
|
||||
this(null, icon);
|
||||
}
|
||||
|
||||
public JToggleButton(String text)
|
||||
{
|
||||
this(text, null);
|
||||
}
|
||||
|
||||
public JToggleButton(String text, Icon icon)
|
||||
{
|
||||
this(text, icon, false);
|
||||
}
|
||||
|
||||
public JToggleButton (String text, Icon icon, boolean selected)
|
||||
{
|
||||
super(text, icon);
|
||||
|
||||
hori_align = LEADING;
|
||||
setModel(new ToggleButtonModel());
|
||||
model.setSelected(selected);
|
||||
}
|
||||
|
||||
|
||||
|
||||
public AccessibleContext getAccessibleContext()
|
||||
{
|
||||
//Gets the AccessibleContext associated with this JToggleButton.
|
||||
return null;
|
||||
}
|
||||
public AccessibleContext getAccessibleContext()
|
||||
{
|
||||
//Gets the AccessibleContext associated with this JToggleButton.
|
||||
return null;
|
||||
}
|
||||
|
||||
public String getUIClassID()
|
||||
{
|
||||
//Returns a string that specifies the name of the L&F class that renders this component.
|
||||
return "JToggleButton";
|
||||
}
|
||||
public String getUIClassID()
|
||||
{
|
||||
//Returns a string that specifies the name of the L&F class that renders this component.
|
||||
return "ToggleButtonUI";
|
||||
}
|
||||
|
||||
protected String paramString()
|
||||
{
|
||||
return "JToggleButton";
|
||||
}
|
||||
protected String paramString()
|
||||
{
|
||||
return "JToggleButton";
|
||||
}
|
||||
|
||||
|
||||
public void updateUI()
|
||||
{
|
||||
ButtonUI b = (ButtonUI)UIManager.getUI(this);
|
||||
setUI(b);
|
||||
}
|
||||
public void updateUI()
|
||||
{
|
||||
ButtonUI b = (ButtonUI)UIManager.getUI(this);
|
||||
setUI(b);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -83,7 +83,7 @@ public class JTree extends JComponent implements Scrollable, Accessible
|
||||
|
||||
public String getUIClassID()
|
||||
{
|
||||
return "JTree";
|
||||
return "TreeUI";
|
||||
}
|
||||
|
||||
|
||||
|
@ -69,7 +69,7 @@ public class JViewport extends JComponent
|
||||
|
||||
public String getUIClassID()
|
||||
{
|
||||
return "JViewport";
|
||||
return "ViewportUI";
|
||||
}
|
||||
|
||||
public void updateUI()
|
||||
|
@ -95,7 +95,9 @@ public class SwingUtilities implements SwingConstants
|
||||
/**
|
||||
* Calculates the portion of the component's bounds which is inside the
|
||||
* component's border insets. This area is usually the area a component
|
||||
* should confine its painting to.
|
||||
* should confine its painting to. The coordinates are returned in terms
|
||||
* of the <em>component's</em> coordinate system, where (0,0) is the
|
||||
* upper left corner of the component's bounds.
|
||||
*
|
||||
* @param c The component to measure the bounds of
|
||||
* @param r A Rectangle to store the return value in, or
|
||||
@ -108,7 +110,8 @@ public class SwingUtilities implements SwingConstants
|
||||
*/
|
||||
public static Rectangle calculateInnerArea(JComponent c, Rectangle r)
|
||||
{
|
||||
return calculateInsetArea(c.getBounds(), c.getInsets(), r);
|
||||
Rectangle b = getLocalBounds(c);
|
||||
return calculateInsetArea(b, c.getInsets(), r);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -123,7 +126,7 @@ public class SwingUtilities implements SwingConstants
|
||||
public static Rectangle getLocalBounds(Component aComponent)
|
||||
{
|
||||
Rectangle bounds = aComponent.getBounds();
|
||||
return new Rectangle(0, 0, bounds.x, bounds.y);
|
||||
return new Rectangle(0, 0, bounds.width, bounds.height);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -460,6 +463,7 @@ public class SwingUtilities implements SwingConstants
|
||||
((JComponent)comp).updateUI();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* <p>Layout a "compound label" consisting of a text string and an icon
|
||||
* which is to be placed near the rendered text. Once the text and icon
|
||||
@ -472,9 +476,10 @@ public class SwingUtilities implements SwingConstants
|
||||
*
|
||||
* <p>The position values control where the text is placed relative to
|
||||
* the icon. The horizontal position value should be one of the constants
|
||||
* <code>LEFT</code>, <code>RIGHT</code> or <code>CENTER</code>. The
|
||||
* vertical position value should be one fo the constants
|
||||
* <code>TOP</code>, <code>BOTTOM</code>, <code>CENTER</code>.</p>
|
||||
* <code>LEADING</code>, <code>TRAILING</code>, <code>LEFT</code>,
|
||||
* <code>RIGHT</code> or <code>CENTER</code>. The vertical position value
|
||||
* should be one fo the constants <code>TOP</code>, <code>BOTTOM</code>
|
||||
* or <code>CENTER</code>.</p>
|
||||
*
|
||||
* <p>The text-icon gap value controls the number of pixels between the
|
||||
* icon and the text.</p>
|
||||
@ -488,12 +493,12 @@ public class SwingUtilities implements SwingConstants
|
||||
* <code>CENTER</code>.</p>
|
||||
*
|
||||
* <p>If the <code>LEADING</code> or <code>TRAILING</code> constants are
|
||||
* given for horizontal alignment, they are interpreted relative to the
|
||||
* provided component's orientation property, a constant in the {@link
|
||||
* java.awt.ComponentOrientation} class. For example, if the component's
|
||||
* orientation is <code>LEFT_TO_RIGHT</code>, then the
|
||||
* <code>LEADING</code> alignment is a synonym for <code>LEFT</code> and
|
||||
* the <code>TRAILING</code> alignment is a synonym for
|
||||
* given for horizontal alignment or horizontal text position, they are
|
||||
* interpreted relative to the provided component's orientation property,
|
||||
* a constant in the {@link java.awt.ComponentOrientation} class. For
|
||||
* example, if the component's orientation is <code>LEFT_TO_RIGHT</code>,
|
||||
* then the <code>LEADING</code> value is a synonym for <code>LEFT</code>
|
||||
* and the <code>TRAILING</code> value is a synonym for
|
||||
* <code>RIGHT</code></p>
|
||||
*
|
||||
* <p>If the text and icon are equal to or larger than the view
|
||||
@ -523,6 +528,7 @@ public class SwingUtilities implements SwingConstants
|
||||
* @return The string of characters, possibly truncated with an elipsis,
|
||||
* which is laid out in this label
|
||||
*/
|
||||
|
||||
public static String layoutCompoundLabel(JComponent c,
|
||||
FontMetrics fm,
|
||||
String text,
|
||||
@ -537,6 +543,119 @@ public class SwingUtilities implements SwingConstants
|
||||
int textIconGap)
|
||||
{
|
||||
|
||||
// Fix up the orientation-based horizontal positions.
|
||||
|
||||
if (horizontalTextPosition == LEADING)
|
||||
{
|
||||
if (c.getComponentOrientation() == ComponentOrientation.RIGHT_TO_LEFT)
|
||||
horizontalTextPosition = RIGHT;
|
||||
else
|
||||
horizontalTextPosition = LEFT;
|
||||
}
|
||||
else if (horizontalTextPosition == TRAILING)
|
||||
{
|
||||
if (c.getComponentOrientation() == ComponentOrientation.RIGHT_TO_LEFT)
|
||||
horizontalTextPosition = LEFT;
|
||||
else
|
||||
horizontalTextPosition = RIGHT;
|
||||
}
|
||||
|
||||
// Fix up the orientation-based alignments.
|
||||
|
||||
if (horizontalAlignment == LEADING)
|
||||
{
|
||||
if (c.getComponentOrientation() == ComponentOrientation.RIGHT_TO_LEFT)
|
||||
horizontalAlignment = RIGHT;
|
||||
else
|
||||
horizontalAlignment = LEFT;
|
||||
}
|
||||
else if (horizontalAlignment == TRAILING)
|
||||
{
|
||||
if (c.getComponentOrientation() == ComponentOrientation.RIGHT_TO_LEFT)
|
||||
horizontalAlignment = LEFT;
|
||||
else
|
||||
horizontalAlignment = RIGHT;
|
||||
}
|
||||
|
||||
return layoutCompoundLabel(fm, text, icon,
|
||||
verticalAlignment,
|
||||
horizontalAlignment,
|
||||
verticalTextPosition,
|
||||
horizontalTextPosition,
|
||||
viewR, iconR, textR, textIconGap);
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>Layout a "compound label" consisting of a text string and an icon
|
||||
* which is to be placed near the rendered text. Once the text and icon
|
||||
* are laid out, the text rectangle and icon rectangle parameters are
|
||||
* altered to store the calculated positions.</p>
|
||||
*
|
||||
* <p>The size of the text is calculated from the provided font metrics
|
||||
* object. This object should be the metrics of the font you intend to
|
||||
* paint the label with.</p>
|
||||
*
|
||||
* <p>The position values control where the text is placed relative to
|
||||
* the icon. The horizontal position value should be one of the constants
|
||||
* <code>LEFT</code>, <code>RIGHT</code> or <code>CENTER</code>. The
|
||||
* vertical position value should be one fo the constants
|
||||
* <code>TOP</code>, <code>BOTTOM</code> or <code>CENTER</code>.</p>
|
||||
*
|
||||
* <p>The text-icon gap value controls the number of pixels between the
|
||||
* icon and the text.</p>
|
||||
*
|
||||
* <p>The alignment values control where the text and icon are placed, as
|
||||
* a combined unit, within the view rectangle. The horizontal alignment
|
||||
* value should be one of the constants <code>LEFT</code>, <code>RIGHT</code> or
|
||||
* <code>CENTER</code>. The vertical alignment valus should be one of the
|
||||
* constants <code>TOP</code>, <code>BOTTOM</code> or
|
||||
* <code>CENTER</code>.</p>
|
||||
*
|
||||
* <p>If the text and icon are equal to or larger than the view
|
||||
* rectangle, the horizontal and vertical alignment values have no
|
||||
* affect.</p>
|
||||
*
|
||||
* <p>Note that this method does <em>not</em> know how to deal with
|
||||
* horizontal alignments or positions given as <code>LEADING</code> or
|
||||
* <code>TRAILING</code> values. Use the other overloaded variant of this
|
||||
* method if you wish to use such values.
|
||||
*
|
||||
* @param fm The font metrics used to measure the text
|
||||
* @param text The text to place in the compound label
|
||||
* @param icon The icon to place next to the text
|
||||
* @param verticalAlignment The vertical alignment of the label relative
|
||||
* to its component
|
||||
* @param horizontalAlignment The horizontal alignment of the label
|
||||
* relative to its component
|
||||
* @param verticalTextPosition The vertical position of the label's text
|
||||
* relative to its icon
|
||||
* @param horizontalTextPosition The horizontal position of the label's
|
||||
* text relative to its icon
|
||||
* @param viewR The view rectangle, specifying the area which layout is
|
||||
* constrained to
|
||||
* @param iconR A rectangle which is modified to hold the laid-out
|
||||
* position of the icon
|
||||
* @param textR A rectangle which is modified to hold the laid-out
|
||||
* position of the text
|
||||
* @param textIconGap The distance between text and icon
|
||||
*
|
||||
* @return The string of characters, possibly truncated with an elipsis,
|
||||
* which is laid out in this label
|
||||
*/
|
||||
|
||||
public static String layoutCompoundLabel(FontMetrics fm,
|
||||
String text,
|
||||
Icon icon,
|
||||
int verticalAlignment,
|
||||
int horizontalAlignment,
|
||||
int verticalTextPosition,
|
||||
int horizontalTextPosition,
|
||||
Rectangle viewR,
|
||||
Rectangle iconR,
|
||||
Rectangle textR,
|
||||
int textIconGap)
|
||||
{
|
||||
|
||||
// Work out basic height and width.
|
||||
|
||||
if (icon == null)
|
||||
@ -545,7 +664,7 @@ public class SwingUtilities implements SwingConstants
|
||||
iconR.width = 0;
|
||||
iconR.height = 0;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
iconR.width = icon.getIconWidth();
|
||||
iconR.height = icon.getIconWidth();
|
||||
@ -591,23 +710,6 @@ public class SwingUtilities implements SwingConstants
|
||||
break;
|
||||
}
|
||||
|
||||
// Fix up the orientation-based alignments.
|
||||
|
||||
if (horizontalAlignment == LEADING)
|
||||
{
|
||||
if (c.getComponentOrientation() == ComponentOrientation.LEFT_TO_RIGHT)
|
||||
horizontalAlignment = LEFT;
|
||||
else if (c.getComponentOrientation() == ComponentOrientation.RIGHT_TO_LEFT)
|
||||
horizontalAlignment = RIGHT;
|
||||
}
|
||||
else if (horizontalAlignment == TRAILING)
|
||||
{
|
||||
if (c.getComponentOrientation() == ComponentOrientation.LEFT_TO_RIGHT)
|
||||
horizontalAlignment = RIGHT;
|
||||
else if (c.getComponentOrientation() == ComponentOrientation.RIGHT_TO_LEFT)
|
||||
horizontalAlignment = LEFT;
|
||||
}
|
||||
|
||||
// The two rectangles are laid out correctly now, but only assuming
|
||||
// that their upper left corner is at (0,0). If we have any alignment other
|
||||
// than TOP and LEFT, we need to adjust them.
|
||||
|
@ -61,7 +61,7 @@ import javax.swing.plaf.ComponentUI;
|
||||
/**
|
||||
* UIDefaults is a database where all settings and interface bindings are
|
||||
* stored into. An PLAF implementation fills one of these (see for example
|
||||
* plaf/basic/BasicDefaults.java) with "JButton" -> new BasicButtonUI().
|
||||
* plaf/basic/BasicLookAndFeel.java) with "ButtonUI" -> new BasicButtonUI().
|
||||
*
|
||||
* @author Ronald Veldema (rveldema@cs.vu.nl)
|
||||
*/
|
||||
|
@ -47,14 +47,20 @@ import java.awt.Graphics2D;
|
||||
import java.awt.Stroke;
|
||||
import java.awt.Insets;
|
||||
import java.awt.Rectangle;
|
||||
import java.awt.event.FocusListener;
|
||||
import java.awt.event.FocusAdapter;
|
||||
import java.awt.event.FocusEvent;
|
||||
import java.awt.event.InputEvent;
|
||||
import java.awt.event.MouseAdapter;
|
||||
import java.awt.event.MouseEvent;
|
||||
import javax.swing.AbstractButton;
|
||||
import javax.swing.ButtonModel;
|
||||
import javax.swing.Icon;
|
||||
import javax.swing.JComponent;
|
||||
import javax.swing.SwingUtilities;
|
||||
import javax.swing.UIDefaults;
|
||||
import javax.swing.UIManager;
|
||||
import javax.swing.event.MouseInputListener;
|
||||
import javax.swing.plaf.ButtonUI;
|
||||
import javax.swing.plaf.ComponentUI;
|
||||
|
||||
@ -62,21 +68,11 @@ public class BasicButtonUI extends ButtonUI
|
||||
{
|
||||
/** A constant used to pad out elements in the button's layout and
|
||||
preferred size calculations. */
|
||||
int gap = 3;
|
||||
int defaultTextIconGap = 3;
|
||||
|
||||
/** The color that text will be painted when the button is enabled */
|
||||
Color textColor;
|
||||
|
||||
/** The color that text will be painted when the button is disabled */
|
||||
Color disabledTextColor;
|
||||
|
||||
/** The color that the button's background will be painted when the
|
||||
button is pressed. */
|
||||
Color pressedBackgroundColor;
|
||||
|
||||
/** The color that the button's background will be painted when the
|
||||
button is not pressed. */
|
||||
Color normalBackgroundColor;
|
||||
/** A constant added to the defaultTextIconGap to adjust the text
|
||||
within this particular button. */
|
||||
int defaultTextShiftOffset = 0;
|
||||
|
||||
/**
|
||||
* Factory method to create an instance of BasicButtonUI for a given
|
||||
@ -86,125 +82,65 @@ public class BasicButtonUI extends ButtonUI
|
||||
*
|
||||
* @return A new UI capable of drawing the component
|
||||
*/
|
||||
public static ComponentUI createUI(final JComponent c)
|
||||
{
|
||||
return new BasicButtonUI();
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper class which listens to a button's focus events and disarms the
|
||||
* button's model when focus is lost.
|
||||
*/
|
||||
private static class FocusUIListener extends FocusAdapter
|
||||
public static ComponentUI createUI(final JComponent c)
|
||||
{
|
||||
/** Button to listen to focus events from */
|
||||
AbstractButton button;
|
||||
|
||||
/**
|
||||
* Creates a new FocusUIListener object.
|
||||
*
|
||||
* @param b The button to listen to
|
||||
*/
|
||||
FocusUIListener(AbstractButton b)
|
||||
{
|
||||
button = b;
|
||||
}
|
||||
|
||||
/**
|
||||
* Called when the button loses focus.
|
||||
*
|
||||
* @param event The loss of focus event.
|
||||
*/
|
||||
public void focusLost(FocusEvent event)
|
||||
{
|
||||
// System.err.println("ButtonUI :: lost focus -- disarming");
|
||||
button.getModel().setArmed(false);
|
||||
}
|
||||
return new BasicButtonUI();
|
||||
}
|
||||
|
||||
/**
|
||||
* A helper class which interprets mouse events as
|
||||
* state changes to the button's underlying model.
|
||||
*/
|
||||
private static class ButtonUIListener extends MouseAdapter
|
||||
public int getDefaultTextIconGap(AbstractButton b)
|
||||
{
|
||||
/** The button to change the model of */
|
||||
AbstractButton button;
|
||||
return defaultTextIconGap;
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new ButtonUIListener object.
|
||||
*
|
||||
* @param b The button to change the model of
|
||||
*/
|
||||
public ButtonUIListener(AbstractButton b)
|
||||
{
|
||||
button = b;
|
||||
}
|
||||
protected void installDefaults(AbstractButton b)
|
||||
{
|
||||
UIDefaults defaults = UIManager.getLookAndFeelDefaults();
|
||||
b.setForeground(defaults.getColor("Button.foreground"));
|
||||
b.setBackground(defaults.getColor("Button.background"));
|
||||
b.setMargin(defaults.getInsets("Button.margin"));
|
||||
b.setBorder(defaults.getBorder("Button.border"));
|
||||
}
|
||||
|
||||
/**
|
||||
* Accept a mouse press event and arm the button's model.
|
||||
*
|
||||
* @param e The mouse press event to accept
|
||||
*/
|
||||
public void mousePressed(MouseEvent e)
|
||||
{
|
||||
// System.err.println("ButtonUI :: mouse pressed");
|
||||
if ((e.getModifiers() & InputEvent.BUTTON1_MASK) != 0)
|
||||
{
|
||||
// System.err.println("ButtonUI :: arming");
|
||||
button.getModel().setArmed(true);
|
||||
}
|
||||
}
|
||||
protected void uninstallDefaults(AbstractButton b)
|
||||
{
|
||||
b.setForeground(null);
|
||||
b.setBackground(null);
|
||||
b.setBorder(null);
|
||||
b.setMargin(null);
|
||||
}
|
||||
|
||||
/**
|
||||
* Accept a mouse enter event and set the button's model's
|
||||
* "rollover" property to <code>true</code>. If the button's
|
||||
* model is currently armed and the mouse button is not held
|
||||
* down, this enter event will also disarm the model.
|
||||
*
|
||||
* @param e The mouse enter event to accept
|
||||
*/
|
||||
public void mouseEntered(MouseEvent e)
|
||||
{
|
||||
// System.err.println("ButtonUI :: mouse entered");
|
||||
// System.err.println("ButtonUI :: rolling over");
|
||||
button.getModel().setRollover(true);
|
||||
if (button.getModel().isArmed()
|
||||
&& (e.getModifiers() & InputEvent.BUTTON1_MASK) == 0)
|
||||
{
|
||||
// System.err.println("ButtonUI :: no button pressed -- disarming");
|
||||
button.getModel().setArmed(false);
|
||||
}
|
||||
}
|
||||
protected BasicButtonListener listener;
|
||||
|
||||
/**
|
||||
* Accept a mouse exit event and set the button's model's
|
||||
* "rollover" property to <code>false</code>.
|
||||
*
|
||||
* @param e The mouse exit event to accept
|
||||
*/
|
||||
public void mouseExited(MouseEvent e)
|
||||
{
|
||||
// System.err.println("ButtonUI :: mouse exited");
|
||||
button.getModel().setRollover(false);
|
||||
}
|
||||
protected BasicButtonListener createButtonListener(AbstractButton b)
|
||||
{
|
||||
return new BasicButtonListener();
|
||||
}
|
||||
|
||||
/**
|
||||
* Accept a mouse release event and set the button's model's
|
||||
* "pressed" property to <code>true</code>, if the model
|
||||
* is armed. If the model is not armed, ignore the event.
|
||||
*
|
||||
* @param e The mouse release event to accept
|
||||
*/
|
||||
public void mouseReleased(MouseEvent e)
|
||||
{
|
||||
// System.err.println("ButtonUI :: mouse released");
|
||||
if (button.getModel().isArmed()
|
||||
&& (e.getModifiers() & InputEvent.BUTTON1_MASK) != 0)
|
||||
{
|
||||
button.getModel().setPressed(true);
|
||||
}
|
||||
}
|
||||
public void installListeners(AbstractButton b)
|
||||
{
|
||||
listener = createButtonListener(b);
|
||||
b.addChangeListener(listener);
|
||||
b.addPropertyChangeListener(listener);
|
||||
b.addFocusListener(listener);
|
||||
b.addMouseListener(listener);
|
||||
b.addMouseMotionListener(listener);
|
||||
}
|
||||
|
||||
public void uninstallListeners(AbstractButton b)
|
||||
{
|
||||
b.removeChangeListener(listener);
|
||||
b.removePropertyChangeListener(listener);
|
||||
b.removeFocusListener(listener);
|
||||
b.removeMouseListener(listener);
|
||||
b.removeMouseMotionListener(listener);
|
||||
}
|
||||
|
||||
protected void installKeyboardActions(AbstractButton b)
|
||||
{
|
||||
}
|
||||
|
||||
protected void uninstallKeyboardActions(AbstractButton b)
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
@ -215,22 +151,16 @@ public class BasicButtonUI extends ButtonUI
|
||||
*
|
||||
* @param c The component to install the UI into
|
||||
*/
|
||||
public void installUI(final JComponent c)
|
||||
{
|
||||
super.installUI(c);
|
||||
|
||||
textColor = new Color(0,0,0);
|
||||
disabledTextColor = new Color(130, 130, 130);
|
||||
pressedBackgroundColor = new Color(150,150,150);
|
||||
pressedBackgroundColor = new Color(150,150,150);
|
||||
normalBackgroundColor = new Color(192,192,192);
|
||||
|
||||
// this tells the border (if we have one) how to paint.
|
||||
c.setBackground(normalBackgroundColor);
|
||||
((AbstractButton)c).setMargin (new Insets(10,10,10,10));
|
||||
|
||||
c.addMouseListener(new ButtonUIListener((AbstractButton) c));
|
||||
c.addFocusListener(new FocusUIListener((AbstractButton) c));
|
||||
public void installUI(final JComponent c)
|
||||
{
|
||||
super.installUI(c);
|
||||
if (c instanceof AbstractButton)
|
||||
{
|
||||
AbstractButton b = (AbstractButton) c;
|
||||
installDefaults(b);
|
||||
installListeners(b);
|
||||
installKeyboardActions(b);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -241,13 +171,45 @@ public class BasicButtonUI extends ButtonUI
|
||||
*
|
||||
* @return The preferred dimensions of the component
|
||||
*/
|
||||
public Dimension getPreferredSize(JComponent c)
|
||||
{
|
||||
AbstractButton b = (AbstractButton)c;
|
||||
Dimension d = BasicGraphicsUtils.getPreferredButtonSize(b, gap);
|
||||
return d;
|
||||
}
|
||||
|
||||
public Dimension getPreferredSize(JComponent c)
|
||||
{
|
||||
AbstractButton b = (AbstractButton)c;
|
||||
Dimension d =
|
||||
BasicGraphicsUtils.getPreferredButtonSize
|
||||
(b, defaultTextIconGap + defaultTextShiftOffset);
|
||||
return d;
|
||||
}
|
||||
|
||||
static private Icon currentIcon(AbstractButton b)
|
||||
{
|
||||
Icon i = b.getIcon();
|
||||
ButtonModel model = b.getModel();
|
||||
|
||||
if (model.isPressed() && b.getPressedIcon() != null)
|
||||
i = b.getPressedIcon();
|
||||
|
||||
else if (model.isRollover())
|
||||
{
|
||||
if (b.isSelected() && b.getRolloverSelectedIcon() != null)
|
||||
i = b.getRolloverSelectedIcon();
|
||||
else if (b.getRolloverIcon() != null)
|
||||
i = b.getRolloverIcon();
|
||||
}
|
||||
|
||||
else if (b.isSelected())
|
||||
{
|
||||
if (b.isEnabled() && b.getSelectedIcon() != null)
|
||||
i = b.getSelectedIcon();
|
||||
else if (b.getDisabledSelectedIcon() != null)
|
||||
i = b.getDisabledSelectedIcon();
|
||||
}
|
||||
|
||||
else if (! b.isEnabled() && b.getDisabledIcon() != null)
|
||||
i = b.getDisabledIcon();
|
||||
|
||||
return i;
|
||||
}
|
||||
|
||||
/**
|
||||
* Paint the component, which is an {@link AbstractButton}, according to
|
||||
* its current state.
|
||||
@ -255,52 +217,42 @@ public class BasicButtonUI extends ButtonUI
|
||||
* @param g The graphics context to paint with
|
||||
* @param c The component to paint the state of
|
||||
*/
|
||||
public void paint(Graphics g, JComponent c)
|
||||
{
|
||||
AbstractButton b = (AbstractButton) c;
|
||||
public void paint(Graphics g, JComponent c)
|
||||
{
|
||||
AbstractButton b = (AbstractButton) c;
|
||||
|
||||
Rectangle tr = new Rectangle();
|
||||
Rectangle ir = new Rectangle();
|
||||
Rectangle vr = new Rectangle();
|
||||
Rectangle tr = new Rectangle();
|
||||
Rectangle ir = new Rectangle();
|
||||
Rectangle vr = new Rectangle();
|
||||
Rectangle br = new Rectangle();
|
||||
|
||||
Font f = c.getFont();
|
||||
Font f = c.getFont();
|
||||
|
||||
g.setFont(f);
|
||||
g.setFont(f);
|
||||
|
||||
FontMetrics fm = g.getFontMetrics(f);
|
||||
|
||||
Insets border = b.getInsets();
|
||||
Insets margin = b.getMargin();
|
||||
|
||||
br.x = border.left;
|
||||
br.y = border.top;
|
||||
br.width = b.getWidth() - (border.right + border.left);
|
||||
br.height = b.getHeight() - (border.top + border.bottom);
|
||||
|
||||
vr.x = br.x + margin.left;
|
||||
vr.y = br.y + margin.top;
|
||||
vr.width = br.width - (margin.right + margin.left);
|
||||
vr.height = br.height - (margin.top + margin.bottom);
|
||||
|
||||
String text = SwingUtilities.layoutCompoundLabel(c, fm, b.getText(),
|
||||
b.getIcon(),
|
||||
b.getVerticalAlignment(),
|
||||
b.getHorizontalAlignment(),
|
||||
b.getVerticalTextPosition(),
|
||||
b.getHorizontalTextPosition(),
|
||||
vr, ir, tr, gap);
|
||||
|
||||
if ((b.getModel().isRollover() && b.getModel().isArmed())
|
||||
|| b.getModel().isSelected())
|
||||
SwingUtilities.calculateInnerArea(b, br);
|
||||
SwingUtilities.calculateInsetArea(br, b.getMargin(), vr);
|
||||
String text = SwingUtilities.layoutCompoundLabel(c, g.getFontMetrics(f),
|
||||
b.getText(),
|
||||
currentIcon(b),
|
||||
b.getVerticalAlignment(),
|
||||
b.getHorizontalAlignment(),
|
||||
b.getVerticalTextPosition(),
|
||||
b.getHorizontalTextPosition(),
|
||||
vr, ir, tr,
|
||||
defaultTextIconGap
|
||||
+ defaultTextShiftOffset);
|
||||
|
||||
if ((b.getModel().isArmed() && b.getModel().isPressed())
|
||||
|| b.isSelected())
|
||||
paintButtonPressed(g, br, c);
|
||||
else
|
||||
else
|
||||
paintButtonNormal(g, br, c);
|
||||
|
||||
paintIcon(g, c, ir);
|
||||
paintText(g, c, tr, b.getText());
|
||||
paintFocus(g, c, vr, tr, ir);
|
||||
}
|
||||
paintIcon(g, c, ir);
|
||||
paintText(g, c, tr, b.getText());
|
||||
paintFocus(g, c, vr, tr, ir);
|
||||
}
|
||||
|
||||
/**
|
||||
* Paint any focus decoration this {@link JComponent} might have. The
|
||||
@ -322,7 +274,7 @@ public class BasicButtonUI extends ButtonUI
|
||||
{
|
||||
AbstractButton b = (AbstractButton) c;
|
||||
if (b.hasFocus() && b.isFocusPainted())
|
||||
{
|
||||
{
|
||||
Graphics2D g2 = (Graphics2D) g;
|
||||
Stroke saved_stroke = g2.getStroke();
|
||||
Color saved_color = g2.getColor();
|
||||
@ -340,7 +292,7 @@ public class BasicButtonUI extends ButtonUI
|
||||
g2.setStroke(saved_stroke);
|
||||
g2.setColor(saved_color);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Paint the icon for this component. Depending on the state of the
|
||||
@ -352,15 +304,17 @@ public class BasicButtonUI extends ButtonUI
|
||||
* @param iconRect Rectangle in which the icon should be painted
|
||||
*/
|
||||
protected void paintIcon(Graphics g, JComponent c, Rectangle iconRect)
|
||||
{
|
||||
AbstractButton b = (AbstractButton) c;
|
||||
if (b.getIcon() != null)
|
||||
{
|
||||
int x = iconRect.x;
|
||||
int y = iconRect.y;
|
||||
b.getIcon().paintIcon(c, g, x, y);
|
||||
}
|
||||
}
|
||||
{
|
||||
AbstractButton b = (AbstractButton) c;
|
||||
Icon i = currentIcon(b);
|
||||
|
||||
if (i != null)
|
||||
{
|
||||
int x = iconRect.x;
|
||||
int y = iconRect.y;
|
||||
i.paintIcon(c, g, x, y);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Paints the background area of an {@link AbstractButton} in the pressed
|
||||
@ -372,12 +326,13 @@ public class BasicButtonUI extends ButtonUI
|
||||
* @param b The component to paint the state of
|
||||
*/
|
||||
protected void paintButtonPressed(Graphics g, Rectangle area, JComponent b)
|
||||
{
|
||||
Dimension size = b.getSize();
|
||||
|
||||
g.setColor(pressedBackgroundColor);
|
||||
g.fillRect(area.x, area.y, area.width, area.height);
|
||||
}
|
||||
{
|
||||
if (((AbstractButton)b).isContentAreaFilled())
|
||||
{
|
||||
g.setColor(b.getBackground().darker());
|
||||
g.fillRect(area.x, area.y, area.width, area.height);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Paints the background area of an {@link AbstractButton} in the normal,
|
||||
@ -389,11 +344,13 @@ public class BasicButtonUI extends ButtonUI
|
||||
* @param b The component to paint the state of
|
||||
*/
|
||||
protected void paintButtonNormal(Graphics g, Rectangle area, JComponent b)
|
||||
{
|
||||
Dimension size = b.getSize();
|
||||
g.setColor(normalBackgroundColor);
|
||||
g.fillRect(area.x, area.y, area.width, area.height);
|
||||
}
|
||||
{
|
||||
if (((AbstractButton)b).isContentAreaFilled())
|
||||
{
|
||||
g.setColor(b.getBackground());
|
||||
g.fillRect(area.x, area.y, area.width, area.height);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Paints the "text" property of an {@link AbstractButton}, using the
|
||||
@ -405,15 +362,14 @@ public class BasicButtonUI extends ButtonUI
|
||||
* @param text The text to paint
|
||||
*/
|
||||
protected void paintText(Graphics g, JComponent c, Rectangle textRect,
|
||||
String text)
|
||||
{
|
||||
Font f = c.getFont();
|
||||
g.setFont(f);
|
||||
FontMetrics fm = g.getFontMetrics(f);
|
||||
g.setColor(c.isEnabled() ? textColor : disabledTextColor);
|
||||
BasicGraphicsUtils.drawString(g, text,
|
||||
0,
|
||||
textRect.x,
|
||||
String text)
|
||||
{
|
||||
Font f = c.getFont();
|
||||
g.setFont(f);
|
||||
FontMetrics fm = g.getFontMetrics(f);
|
||||
g.setColor(c.getForeground());
|
||||
BasicGraphicsUtils.drawString(g, text, 0,
|
||||
textRect.x,
|
||||
textRect.y + fm.getAscent());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -38,82 +38,28 @@ exception statement from your version. */
|
||||
|
||||
package javax.swing.plaf.basic;
|
||||
|
||||
import java.awt.Component;
|
||||
import java.awt.Dimension;
|
||||
import java.awt.Graphics;
|
||||
import java.awt.Rectangle;
|
||||
import javax.swing.AbstractButton;
|
||||
import javax.swing.Icon;
|
||||
import javax.swing.JComponent;
|
||||
import javax.swing.UIDefaults;
|
||||
import javax.swing.UIManager;
|
||||
import javax.swing.plaf.ComponentUI;
|
||||
|
||||
public class BasicCheckBoxUI extends BasicRadioButtonUI
|
||||
{
|
||||
public static ComponentUI createUI(final JComponent c) {
|
||||
return new BasicCheckBoxUI();
|
||||
}
|
||||
|
||||
public static ComponentUI createUI(final JComponent c) {
|
||||
return new BasicCheckBoxUI();
|
||||
}
|
||||
|
||||
|
||||
public void installUI(final JComponent c) {
|
||||
super.installUI(c);
|
||||
}
|
||||
|
||||
public Dimension getPreferredSize(JComponent c)
|
||||
{
|
||||
AbstractButton b = (AbstractButton)c;
|
||||
Dimension d = BasicGraphicsUtils.getPreferredButtonSize(b, gap);
|
||||
//System.out.println("^^^^^^^^^^^^^^^^^^^^^^ BASIC-PREF="+d + ",T="+b.text);
|
||||
return d;
|
||||
}
|
||||
|
||||
protected void paintFocus(Graphics g,
|
||||
JComponent c,
|
||||
Rectangle vr,
|
||||
Rectangle tr,
|
||||
Rectangle ir)
|
||||
{
|
||||
}
|
||||
|
||||
protected void paintIcon(Graphics g,
|
||||
JComponent c,
|
||||
Rectangle iconRect)
|
||||
{
|
||||
}
|
||||
|
||||
protected void paintButtonPressed(Graphics g,
|
||||
JComponent b)
|
||||
{
|
||||
Dimension size = b.getSize();
|
||||
|
||||
g.setColor(pressedBackgroundColor);
|
||||
g.fillRect(1,1,size.width-2, size.height-2);
|
||||
|
||||
}
|
||||
|
||||
protected void paintButtonNormal(Graphics g,
|
||||
JComponent b)
|
||||
{
|
||||
Dimension size = b.getSize();
|
||||
|
||||
g.setColor(normalBackgroundColor);
|
||||
g.fillRect(1,1,size.width-2, size.height-2);
|
||||
|
||||
}
|
||||
protected void paintText(Graphics g,
|
||||
JComponent c,
|
||||
Rectangle textRect,
|
||||
String text)
|
||||
{
|
||||
// AbstractButton b = (AbstractButton) c;
|
||||
|
||||
// System.out.println("drawing string: " + text + ", at:" + textRect);
|
||||
|
||||
g.setColor(textColor);
|
||||
BasicGraphicsUtils.drawString(g,
|
||||
text,
|
||||
0,
|
||||
textRect.x,
|
||||
textRect.y);
|
||||
}
|
||||
public Icon getDefaultIcon()
|
||||
{
|
||||
UIDefaults defaults = UIManager.getLookAndFeelDefaults();
|
||||
return defaults.getIcon("CheckBox.icon");
|
||||
}
|
||||
|
||||
public void installUI(final JComponent c) {
|
||||
super.installUI(c);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -39,7 +39,14 @@ exception statement from your version. */
|
||||
package javax.swing.plaf.basic;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.awt.Color;
|
||||
import java.awt.Component;
|
||||
import java.awt.Graphics;
|
||||
import java.awt.Polygon;
|
||||
import javax.swing.AbstractButton;
|
||||
import javax.swing.Icon;
|
||||
import javax.swing.UIDefaults;
|
||||
import javax.swing.UIManager;
|
||||
/**
|
||||
* STUBBED
|
||||
*/
|
||||
@ -47,39 +54,156 @@ public class BasicIconFactory implements Serializable
|
||||
{
|
||||
static final long serialVersionUID = 5605588811185324383L;
|
||||
|
||||
static private class DummyIcon
|
||||
implements Icon
|
||||
{
|
||||
public int getIconHeight() { return 10; }
|
||||
public int getIconWidth() { return 10; }
|
||||
public void paintIcon(Component c, Graphics g, int x, int y)
|
||||
{
|
||||
Color save = g.getColor();
|
||||
g.setColor(c.getForeground());
|
||||
g.drawRect(x, y, 10, 10);
|
||||
g.setColor(save);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public BasicIconFactory()
|
||||
{
|
||||
}
|
||||
public static Icon getMenuItemCheckIcon()
|
||||
{
|
||||
return null;
|
||||
return new DummyIcon();
|
||||
}
|
||||
public static Icon getMenuItemArrowIcon()
|
||||
{
|
||||
return null;
|
||||
return new DummyIcon();
|
||||
}
|
||||
public static Icon getMenuArrowIcon()
|
||||
{
|
||||
return null;
|
||||
return new DummyIcon();
|
||||
}
|
||||
|
||||
public static Icon getCheckBoxIcon()
|
||||
{
|
||||
return null;
|
||||
return new Icon()
|
||||
{
|
||||
public int getIconHeight()
|
||||
{
|
||||
return 10;
|
||||
}
|
||||
public int getIconWidth()
|
||||
{
|
||||
return 10;
|
||||
}
|
||||
public void paintIcon(Component c, Graphics g, int x, int y)
|
||||
{
|
||||
if (c instanceof AbstractButton)
|
||||
{
|
||||
UIDefaults defaults;
|
||||
defaults = UIManager.getLookAndFeelDefaults();
|
||||
Color hi = defaults.getColor("CheckBox.highlight");
|
||||
Color low = defaults.getColor("CheckBox.darkShadow");
|
||||
Color sel = defaults.getColor("CheckBox.foreground");
|
||||
Color dim = defaults.getColor("CheckBox.shadow");
|
||||
Polygon check = new Polygon(new int[] {x+3, x+3, x+8},
|
||||
new int[] {y+5, y+9, y+3}, 3);
|
||||
AbstractButton b = (AbstractButton) c;
|
||||
Color saved = g.getColor();
|
||||
if (b.isEnabled())
|
||||
{
|
||||
g.setColor(low);
|
||||
g.drawRect(x, y, 10, 10);
|
||||
g.setColor(hi);
|
||||
g.drawRect(x+1, y+1, 10, 10);
|
||||
if (b.isSelected())
|
||||
{
|
||||
g.setColor(sel);
|
||||
if (b.isSelected())
|
||||
{
|
||||
g.drawLine(x+3, y+5, x+3, y+8);
|
||||
g.drawLine(x+4, y+5, x+4, y+8);
|
||||
g.drawLine(x+3, y+8, x+8, y+3);
|
||||
g.drawLine(x+4, y+8, x+8, y+3);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
g.setColor(hi);
|
||||
g.drawRect(x, y, 10, 10);
|
||||
if (b.isSelected())
|
||||
{
|
||||
g.drawLine(x+3, y+5, x+3, y+9);
|
||||
g.drawLine(x+3, y+9, x+8, y+3);
|
||||
}
|
||||
}
|
||||
g.setColor(saved);
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
public static Icon getRadioButtonIcon()
|
||||
{
|
||||
return null;
|
||||
return new Icon()
|
||||
{
|
||||
public int getIconHeight()
|
||||
{
|
||||
return 12;
|
||||
}
|
||||
public int getIconWidth()
|
||||
{
|
||||
return 12;
|
||||
}
|
||||
public void paintIcon(Component c, Graphics g, int x, int y)
|
||||
{
|
||||
UIDefaults defaults;
|
||||
defaults = UIManager.getLookAndFeelDefaults();
|
||||
Color hi = defaults.getColor("RadioButton.highlight");
|
||||
Color low = defaults.getColor("RadioButton.darkShadow");
|
||||
Color sel = defaults.getColor("RadioButton.foreground");
|
||||
Color dim = defaults.getColor("RadioButton.shadow");
|
||||
|
||||
if (c instanceof AbstractButton)
|
||||
{
|
||||
AbstractButton b = (AbstractButton) c;
|
||||
Color saved = g.getColor();
|
||||
if (b.isEnabled())
|
||||
{
|
||||
g.setColor(low);
|
||||
g.drawOval(x, y, 12, 12);
|
||||
g.setColor(hi);
|
||||
g.drawOval(x+1, y+1, 12, 12);
|
||||
if (b.isSelected())
|
||||
{
|
||||
g.setColor(sel);
|
||||
g.fillOval(x+4, y+4, 6, 6);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
g.setColor(hi);
|
||||
g.drawOval(x, y, 12, 12);
|
||||
if (b.isSelected())
|
||||
g.fillOval(x+4, y+4, 6, 6);
|
||||
}
|
||||
g.setColor(saved);
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
public static Icon getCheckBoxMenuItemIcon()
|
||||
{
|
||||
return null;
|
||||
return new DummyIcon();
|
||||
}
|
||||
public static Icon getRadioButtonMenuItemIcon()
|
||||
{
|
||||
return null;
|
||||
return new DummyIcon();
|
||||
}
|
||||
public static Icon createEmptyFrameIcon()
|
||||
{
|
||||
return null;
|
||||
return new DummyIcon();
|
||||
}
|
||||
} // class BasicIconFactory
|
||||
|
@ -227,29 +227,40 @@ public abstract class BasicLookAndFeel extends LookAndFeel
|
||||
{
|
||||
Object[] uiDefaults;
|
||||
uiDefaults = new Object[] {
|
||||
|
||||
"AbstractUndoableEdit.undoText", "Undo",
|
||||
"AbstractUndoableEdit.redoText", "Redo",
|
||||
|
||||
"Button.background", new ColorUIResource(Color.lightGray),
|
||||
"Button.border", new BorderUIResource.CompoundBorderUIResource(null,
|
||||
null),
|
||||
"Button.border", BorderUIResource.getEtchedBorderUIResource(),
|
||||
"Button.darkShadow", new ColorUIResource(Color.darkGray),
|
||||
"Button.focusInputMap", new UIDefaults.LazyInputMap(new Object[] {
|
||||
"SPACE", "pressed",
|
||||
"released SPACE", "released"
|
||||
}),
|
||||
"Button.font", new FontUIResource("Dialog", Font.PLAIN, 12),
|
||||
"Button.foreground", new ColorUIResource(Color.black),
|
||||
"Button.highlight", new ColorUIResource(Color.white),
|
||||
"Button.light", new ColorUIResource(Color.lightGray.brighter()),
|
||||
"Button.margin", new InsetsUIResource(2, 14, 2, 14),
|
||||
"Button.shadow", new ColorUIResource(Color.gray),
|
||||
"Button.textIconGap", new Integer(4),
|
||||
"Button.textShiftOffset", new Integer(0),
|
||||
"CheckBox.background", new ColorUIResource(Color.lightGray),
|
||||
"CheckBox.border", new BorderUIResource.CompoundBorderUIResource(null,
|
||||
null),
|
||||
"CheckBox.darkShadow", new ColorUIResource(Color.darkGray),
|
||||
"CheckBox.focusInputMap", new UIDefaults.LazyInputMap(new Object[] {
|
||||
"SPACE", "pressed",
|
||||
"released SPACE", "released"
|
||||
}),
|
||||
"CheckBox.font", new FontUIResource("Dialog", Font.PLAIN, 12),
|
||||
"CheckBox.foreground", new ColorUIResource(Color.black),
|
||||
"CheckBox.highlight", new ColorUIResource(Color.white),
|
||||
"CheckBox.icon", BasicIconFactory.getCheckBoxIcon(),
|
||||
"CheckBox.light", new ColorUIResource(Color.lightGray.brighter()),
|
||||
"CheckBox.margin",new InsetsUIResource(2, 2, 2, 2),
|
||||
"CheckBox.shadow", new ColorUIResource(Color.gray),
|
||||
"CheckBox.textIconGap", new Integer(4),
|
||||
"CheckBox.textShiftOffset", new Integer(0),
|
||||
"CheckBoxMenuItem.acceleratorFont", new FontUIResource("Dialog",
|
||||
@ -540,7 +551,7 @@ public abstract class BasicLookAndFeel extends LookAndFeel
|
||||
"PopupMenu.font", new FontUIResource("Dialog", Font.PLAIN, 12),
|
||||
"PopupMenu.foreground", new ColorUIResource(Color.black),
|
||||
"ProgressBar.background", new ColorUIResource(Color.lightGray),
|
||||
"ProgressBar.border", new BorderUIResource.LineBorderUIResource(null),
|
||||
"ProgressBar.border", new BorderUIResource.LineBorderUIResource(Color.darkGray),
|
||||
"ProgressBar.cellLength", new Integer(1),
|
||||
"ProgressBar.cellSpacing", new Integer(0),
|
||||
"ProgressBar.font", new FontUIResource("Dialog", Font.PLAIN, 12),
|
||||
@ -550,14 +561,18 @@ public abstract class BasicLookAndFeel extends LookAndFeel
|
||||
"RadioButton.background", new ColorUIResource(Color.lightGray),
|
||||
"RadioButton.border", new BorderUIResource.CompoundBorderUIResource(null,
|
||||
null),
|
||||
"RadioButton.darkShadow", new ColorUIResource(Color.darkGray),
|
||||
"RadioButton.focusInputMap", new UIDefaults.LazyInputMap(new Object[] {
|
||||
"SPACE", "pressed",
|
||||
"released SPACE", "released"
|
||||
}),
|
||||
"RadioButton.font", new FontUIResource("Dialog", Font.PLAIN, 12),
|
||||
"RadioButton.foreground", new ColorUIResource(Color.black),
|
||||
"RadioButton.highlight", new ColorUIResource(Color.white),
|
||||
"RadioButton.icon", BasicIconFactory.getRadioButtonIcon(),
|
||||
"RadioButton.light", new ColorUIResource(Color.lightGray.brighter()),
|
||||
"RadioButton.margin", new InsetsUIResource(2, 2, 2, 2),
|
||||
"RadioButton.shadow", new ColorUIResource(Color.gray),
|
||||
"RadioButton.textIconGap", new Integer(4),
|
||||
"RadioButton.textShiftOffset", new Integer(0),
|
||||
"RadioButtonMenuItem.acceleratorFont", new FontUIResource("Dialog",
|
||||
@ -742,7 +757,7 @@ public abstract class BasicLookAndFeel extends LookAndFeel
|
||||
"Table.background", new ColorUIResource(Color.white),
|
||||
"Table.focusCellBackground", new ColorUIResource(Color.white),
|
||||
"Table.focusCellForeground", new ColorUIResource(Color.black),
|
||||
"Table.focusCellHighlightBorder", new BorderUIResource.LineBorderUIResource(null),
|
||||
"Table.focusCellHighlightBorder", new BorderUIResource.LineBorderUIResource(Color.white),
|
||||
"Table.font", new FontUIResource("Dialog", Font.PLAIN, 12),
|
||||
"Table.foreground", new ColorUIResource(Color.black),
|
||||
"Table.gridColor", new ColorUIResource(Color.gray),
|
||||
@ -849,7 +864,7 @@ public abstract class BasicLookAndFeel extends LookAndFeel
|
||||
"ToolBar.foreground", new ColorUIResource(Color.black),
|
||||
"ToolBar.separatorSize", new DimensionUIResource(10, 10),
|
||||
"ToolTip.background", new ColorUIResource(Color.white),
|
||||
"ToolTip.border", new BorderUIResource.LineBorderUIResource(null),
|
||||
"ToolTip.border", new BorderUIResource.LineBorderUIResource(Color.lightGray),
|
||||
"ToolTip.font", new FontUIResource("SansSerif", Font.PLAIN, 12),
|
||||
"ToolTip.foreground", new ColorUIResource(Color.black),
|
||||
"Tree.ancestorInputMap", new UIDefaults.LazyInputMap(new Object[] {
|
||||
@ -860,7 +875,7 @@ public abstract class BasicLookAndFeel extends LookAndFeel
|
||||
// XXX Don't use gif
|
||||
"Tree.closedIcon", new IconUIResource(new ImageIcon("icons/TreeClosed.gif")),
|
||||
"Tree.drawsFocusBorderAroundIcon", Boolean.FALSE,
|
||||
"Tree.editorBorder", new BorderUIResource.LineBorderUIResource(null),
|
||||
"Tree.editorBorder", new BorderUIResource.LineBorderUIResource(Color.lightGray),
|
||||
"Tree.focusInputMap", new UIDefaults.LazyInputMap(new Object[] {
|
||||
"shift PAGE_DOWN", "scrollDownExtendSelection",
|
||||
"PAGE_DOWN", "scrollDownChangeSelection",
|
||||
|
@ -44,8 +44,6 @@ import javax.swing.plaf.PanelUI;
|
||||
|
||||
public class BasicPanelUI extends PanelUI
|
||||
{
|
||||
int gap = 3;
|
||||
|
||||
public static ComponentUI createUI(JComponent x)
|
||||
{
|
||||
return new BasicPanelUI();
|
||||
@ -53,6 +51,6 @@ public class BasicPanelUI extends PanelUI
|
||||
|
||||
public void installUI(JComponent c)
|
||||
{
|
||||
super.installUI(c);
|
||||
super.installUI(c);
|
||||
}
|
||||
}
|
||||
|
@ -38,116 +38,42 @@ exception statement from your version. */
|
||||
|
||||
package javax.swing.plaf.basic;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.awt.Dimension;
|
||||
import java.awt.Graphics;
|
||||
import java.awt.Rectangle;
|
||||
import javax.swing.AbstractButton;
|
||||
import javax.swing.Icon;
|
||||
import javax.swing.JComponent;
|
||||
import javax.swing.UIDefaults;
|
||||
import javax.swing.UIManager;
|
||||
import javax.swing.plaf.ComponentUI;
|
||||
|
||||
public class BasicRadioButtonUI extends BasicToggleButtonUI
|
||||
{
|
||||
int large_circle_width = 20;
|
||||
int circle_width = large_circle_width - 8; // FIXME: sun == ?
|
||||
|
||||
public static ComponentUI createUI(final JComponent c) {
|
||||
return new BasicRadioButtonUI();
|
||||
}
|
||||
|
||||
protected Icon icon;
|
||||
|
||||
public static ComponentUI createUI(final JComponent c) {
|
||||
return new BasicRadioButtonUI();
|
||||
}
|
||||
|
||||
public BasicRadioButtonUI()
|
||||
{
|
||||
icon = getDefaultIcon();
|
||||
}
|
||||
|
||||
public void installUI(final JComponent c) {
|
||||
super.installUI(c);
|
||||
if (c instanceof AbstractButton)
|
||||
{
|
||||
AbstractButton b = (AbstractButton) c;
|
||||
b.setIcon(icon);
|
||||
}
|
||||
}
|
||||
|
||||
public Icon getDefaultIcon()
|
||||
{
|
||||
UIDefaults defaults = UIManager.getLookAndFeelDefaults();
|
||||
return defaults.getIcon("RadioButton.icon");
|
||||
}
|
||||
|
||||
public void installUI(final JComponent c) {
|
||||
super.installUI(c);
|
||||
}
|
||||
|
||||
public Dimension getPreferredSize(JComponent c)
|
||||
{
|
||||
AbstractButton b = (AbstractButton)c;
|
||||
Dimension d = BasicGraphicsUtils.getPreferredButtonSize(b, gap);
|
||||
|
||||
// and add a little something for the circles:
|
||||
|
||||
d.width += large_circle_width;
|
||||
d.height = Math.max(large_circle_width, d.height);
|
||||
|
||||
//System.out.println("^^^^^^^^^^^^^^^^^^^^^^ BASIC-PREF="+d + ",T="+b.text);
|
||||
return d;
|
||||
}
|
||||
|
||||
protected void paintFocus(Graphics g,
|
||||
JComponent c,
|
||||
Rectangle vr,
|
||||
Rectangle tr,
|
||||
Rectangle ir)
|
||||
{
|
||||
}
|
||||
|
||||
protected void paintIcon(Graphics g,
|
||||
JComponent c,
|
||||
Rectangle iconRect)
|
||||
{
|
||||
}
|
||||
|
||||
protected void paintButtonPressed(Graphics g,
|
||||
JComponent b)
|
||||
{
|
||||
Dimension size = b.getSize();
|
||||
|
||||
paintButtonNormal(g, b);
|
||||
|
||||
int x = gap;
|
||||
int y = gap;
|
||||
|
||||
int diffp = 2;
|
||||
int diff = 3;
|
||||
|
||||
g.setColor(textColor);
|
||||
g.fillArc(x+diffp, y+diffp,
|
||||
circle_width-diff, circle_width-diff,
|
||||
0, 360);
|
||||
}
|
||||
|
||||
protected void paintButtonNormal(Graphics g,
|
||||
JComponent c)
|
||||
{
|
||||
AbstractButton b = (AbstractButton) c;
|
||||
|
||||
Dimension size = b.getSize();
|
||||
|
||||
g.setColor(normalBackgroundColor);
|
||||
g.fillRect(1,1,size.width-2, size.height-2);
|
||||
|
||||
int x = gap;
|
||||
int y = gap;
|
||||
|
||||
g.setColor(pressedBackgroundColor);
|
||||
g.drawArc(x, y,
|
||||
circle_width, circle_width,
|
||||
0, 360);
|
||||
|
||||
g.setColor(new Color(255,255,255));
|
||||
g.drawArc(x, y,
|
||||
circle_width+1, circle_width+1,
|
||||
145, 160);
|
||||
}
|
||||
|
||||
protected void paintText(Graphics g,
|
||||
JComponent c,
|
||||
Rectangle textRect,
|
||||
String text)
|
||||
{
|
||||
// AbstractButton b = (AbstractButton) c;
|
||||
|
||||
//System.out.println("drawing string: " + text + ", " + c.isEnabled());
|
||||
|
||||
g.setColor(c.isEnabled() ? textColor : disabledTextColor);
|
||||
|
||||
BasicGraphicsUtils.drawString(g,
|
||||
text,
|
||||
0,
|
||||
textRect.x + circle_width + gap,
|
||||
textRect.y);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -50,72 +50,7 @@ public class BasicToggleButtonUI extends BasicButtonUI
|
||||
|
||||
public static ComponentUI createUI(final JComponent c) {
|
||||
return new BasicToggleButtonUI();
|
||||
}
|
||||
|
||||
|
||||
public void installUI(final JComponent c) {
|
||||
super.installUI(c);
|
||||
}
|
||||
|
||||
public Dimension getPreferredSize(JComponent c)
|
||||
{
|
||||
AbstractButton b = (AbstractButton)c;
|
||||
Dimension d = BasicGraphicsUtils.getPreferredButtonSize(b, gap);
|
||||
|
||||
//System.out.println("^^^^^^^^^^^^^^^^^^^^^^ BASIC-PREF="+d + ",T="+b.text);
|
||||
return d;
|
||||
}
|
||||
|
||||
protected void paintFocus(Graphics g,
|
||||
JComponent c,
|
||||
Rectangle vr,
|
||||
Rectangle tr,
|
||||
Rectangle ir)
|
||||
{
|
||||
}
|
||||
|
||||
protected void paintIcon(Graphics g,
|
||||
JComponent c,
|
||||
Rectangle iconRect)
|
||||
{
|
||||
}
|
||||
|
||||
protected void paintButtonPressed(Graphics g,
|
||||
JComponent b)
|
||||
{
|
||||
Dimension size = b.getSize();
|
||||
|
||||
g.setColor(pressedBackgroundColor);
|
||||
g.fillRect(1,1,size.width-2, size.height-2);
|
||||
|
||||
}
|
||||
|
||||
protected void paintButtonNormal(Graphics g,
|
||||
JComponent b)
|
||||
{
|
||||
Dimension size = b.getSize();
|
||||
|
||||
g.setColor(normalBackgroundColor);
|
||||
g.fillRect(1,1,size.width-2, size.height-2);
|
||||
|
||||
}
|
||||
protected void paintText(Graphics g,
|
||||
JComponent c,
|
||||
Rectangle textRect,
|
||||
String text)
|
||||
{
|
||||
// AbstractButton b = (AbstractButton) c;
|
||||
|
||||
// System.out.println("drawing string: " + text + ", at:" + textRect);
|
||||
|
||||
g.setColor(textColor);
|
||||
|
||||
BasicGraphicsUtils.drawString(g,
|
||||
text,
|
||||
0,
|
||||
textRect.x,
|
||||
textRect.y);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -40,7 +40,6 @@ exception statement from your version. */
|
||||
package javax.swing.plaf.metal;
|
||||
|
||||
import javax.swing.UIDefaults;
|
||||
import javax.swing.plaf.basic.BasicDefaults;
|
||||
import javax.swing.plaf.basic.BasicLookAndFeel;
|
||||
|
||||
public class MetalLookAndFeel extends BasicLookAndFeel
|
||||
@ -61,7 +60,7 @@ public class MetalLookAndFeel extends BasicLookAndFeel
|
||||
public UIDefaults getDefaults()
|
||||
{
|
||||
if (LAF_defaults == null)
|
||||
LAF_defaults = new BasicDefaults();
|
||||
LAF_defaults = super.getDefaults();
|
||||
|
||||
// Returns the default values for this look and feel.
|
||||
return LAF_defaults;
|
||||
|
@ -406,7 +406,7 @@ public abstract class JTextComponent extends JComponent
|
||||
public String getUIClassID()
|
||||
{
|
||||
// Returns a string that specifies the name of the l&f class that renders this component.
|
||||
return "JTextComponent";
|
||||
return "TextComponentUI";
|
||||
}
|
||||
public int getVerticalAlignment()
|
||||
{
|
||||
|
@ -316,12 +316,24 @@ JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphics_clearRect
|
||||
(JNIEnv *env, jobject obj, jint x, jint y, jint width, jint height)
|
||||
{
|
||||
struct graphics *g;
|
||||
GdkGCValues saved;
|
||||
|
||||
g = (struct graphics *) NSA_GET_PTR (env, obj);
|
||||
|
||||
gdk_threads_enter ();
|
||||
gdk_window_clear_area ((GdkWindow *)g->drawable,
|
||||
x + g->x_offset, y + g->y_offset, width, height);
|
||||
if (GDK_IS_WINDOW (g->drawable))
|
||||
{
|
||||
gdk_window_clear_area ((GdkWindow *)g->drawable,
|
||||
x + g->x_offset, y + g->y_offset, width, height);
|
||||
}
|
||||
else
|
||||
{
|
||||
gdk_gc_get_values (g->gc, &saved);
|
||||
gdk_gc_set_foreground (g->gc, &(saved.background));
|
||||
gdk_draw_rectangle (g->drawable, g->gc, TRUE,
|
||||
x + g->x_offset, y + g->y_offset, width, height);
|
||||
gdk_gc_set_foreground (g->gc, &(saved.foreground));
|
||||
}
|
||||
gdk_threads_leave ();
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user