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:
Graydon Hoare 2004-02-12 00:17:26 +00:00 committed by Graydon Hoare
parent feec892281
commit 9288d11204
35 changed files with 866 additions and 742 deletions

View File

@ -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

View File

@ -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 \

View File

@ -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//`; \

View File

@ -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 ();
}

View File

@ -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();
}

View File

@ -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);
}
}
}
}
}

View File

@ -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()

View File

@ -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()

View File

@ -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)

View File

@ -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; }

View File

@ -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;
}

View File

@ -148,7 +148,7 @@ public class JLabel extends JComponent implements Accessible, SwingConstants
{ return text; }
public String getUIClassID()
{ return "JLabel"; }
{ return "LabelUI"; }
public int getVerticalAlignment()
{

View File

@ -212,7 +212,7 @@ public class JList extends JComponent implements Accessible, Scrollable
public String getUIClassID()
{
return "JList";
return "ListUI";
}

View File

@ -161,7 +161,7 @@ public class JOptionPane extends JComponent
{ return val; }
public String getUIClassID()
{ return "JOptionPane"; }
{ return "OptionPaneUI"; }
public void setUI(OptionPaneUI ui) {

View File

@ -85,7 +85,7 @@ public class JPanel extends JComponent implements Accessible
}
public String getUIClassID()
{ return "JPanel"; }
{ return "PanelUI"; }
public void setUI(PanelUI ui) {

View File

@ -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

View File

@ -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()

View File

@ -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();

View File

@ -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()

View File

@ -102,7 +102,7 @@ public class JTabbedPane extends JComponent implements Accessible, SwingConstant
}
public String getUIClassID()
{ return "JTabbedPane"; }
{ return "TabbedPaneUI"; }
public void setUI(TabbedPaneUI ui) {

View File

@ -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);
}
}

View File

@ -83,7 +83,7 @@ public class JTree extends JComponent implements Scrollable, Accessible
public String getUIClassID()
{
return "JTree";
return "TreeUI";
}

View File

@ -69,7 +69,7 @@ public class JViewport extends JComponent
public String getUIClassID()
{
return "JViewport";
return "ViewportUI";
}
public void updateUI()

View File

@ -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.

View File

@ -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)
*/

View File

@ -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());
}
}
}

View File

@ -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);
}
}

View File

@ -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

View File

@ -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",

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -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);
}
}
}

View File

@ -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;

View File

@ -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()
{

View File

@ -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 ();
}