diff options
author | Graydon Hoare <graydon@redhat.com> | 2004-02-12 00:17:26 +0000 |
---|---|---|
committer | Graydon Hoare <graydon@gcc.gnu.org> | 2004-02-12 00:17:26 +0000 |
commit | 9288d1120423d9743dd6b4c419f201c4749122f6 (patch) | |
tree | fcb9c2df4781981800f59c865ef83b1963ac0eff /libjava/javax/swing/plaf | |
parent | feec8922812c116dd9739928800e24ce06820f26 (diff) | |
download | gcc-9288d1120423d9743dd6b4c419f201c4749122f6.zip gcc-9288d1120423d9743dd6b4c419f201c4749122f6.tar.gz gcc-9288d1120423d9743dd6b4c419f201c4749122f6.tar.bz2 |
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
Diffstat (limited to 'libjava/javax/swing/plaf')
-rw-r--r-- | libjava/javax/swing/plaf/basic/BasicButtonUI.java | 402 | ||||
-rw-r--r-- | libjava/javax/swing/plaf/basic/BasicCheckBoxUI.java | 88 | ||||
-rw-r--r-- | libjava/javax/swing/plaf/basic/BasicIconFactory.java | 140 | ||||
-rw-r--r-- | libjava/javax/swing/plaf/basic/BasicLookAndFeel.java | 27 | ||||
-rw-r--r-- | libjava/javax/swing/plaf/basic/BasicPanelUI.java | 4 | ||||
-rw-r--r-- | libjava/javax/swing/plaf/basic/BasicRadioButtonUI.java | 130 | ||||
-rw-r--r-- | libjava/javax/swing/plaf/basic/BasicToggleButtonUI.java | 67 | ||||
-rw-r--r-- | libjava/javax/swing/plaf/metal/MetalLookAndFeel.java | 3 |
8 files changed, 380 insertions, 481 deletions
diff --git a/libjava/javax/swing/plaf/basic/BasicButtonUI.java b/libjava/javax/swing/plaf/basic/BasicButtonUI.java index 3bcff94..7d59fc2 100644 --- a/libjava/javax/swing/plaf/basic/BasicButtonUI.java +++ b/libjava/javax/swing/plaf/basic/BasicButtonUI.java @@ -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(); - } + 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 int getDefaultTextIconGap(AbstractButton b) { - /** 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 defaultTextIconGap; } - /** - * A helper class which interprets mouse events as - * state changes to the button's underlying model. - */ - private static class ButtonUIListener extends MouseAdapter + 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")); + } + + protected void uninstallDefaults(AbstractButton b) + { + b.setForeground(null); + b.setBackground(null); + b.setBorder(null); + b.setMargin(null); + } + + protected BasicButtonListener listener; + + protected BasicButtonListener createButtonListener(AbstractButton b) + { + return new BasicButtonListener(); + } + + 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) { - /** The button to change the model of */ - AbstractButton button; - - /** - * Creates a new ButtonUIListener object. - * - * @param b The button to change the model of - */ - public ButtonUIListener(AbstractButton b) - { - button = b; - } - - /** - * 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); - } - } - - /** - * 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); - } - } - - /** - * 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); - } - - /** - * 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); - } - } } /** @@ -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(); - - 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()) + Font f = c.getFont(); + + g.setFont(f); + + 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()); - } + } } diff --git a/libjava/javax/swing/plaf/basic/BasicCheckBoxUI.java b/libjava/javax/swing/plaf/basic/BasicCheckBoxUI.java index 32eb128..0efc7ab 100644 --- a/libjava/javax/swing/plaf/basic/BasicCheckBoxUI.java +++ b/libjava/javax/swing/plaf/basic/BasicCheckBoxUI.java @@ -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 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 static ComponentUI createUI(final JComponent c) { + return new BasicCheckBoxUI(); + } + + public Icon getDefaultIcon() + { + UIDefaults defaults = UIManager.getLookAndFeelDefaults(); + return defaults.getIcon("CheckBox.icon"); + } + + public void installUI(final JComponent c) { + super.installUI(c); + } } diff --git a/libjava/javax/swing/plaf/basic/BasicIconFactory.java b/libjava/javax/swing/plaf/basic/BasicIconFactory.java index 3a8adf3..39e86b6 100644 --- a/libjava/javax/swing/plaf/basic/BasicIconFactory.java +++ b/libjava/javax/swing/plaf/basic/BasicIconFactory.java @@ -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 diff --git a/libjava/javax/swing/plaf/basic/BasicLookAndFeel.java b/libjava/javax/swing/plaf/basic/BasicLookAndFeel.java index ff73edb..901ea51 100644 --- a/libjava/javax/swing/plaf/basic/BasicLookAndFeel.java +++ b/libjava/javax/swing/plaf/basic/BasicLookAndFeel.java @@ -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", diff --git a/libjava/javax/swing/plaf/basic/BasicPanelUI.java b/libjava/javax/swing/plaf/basic/BasicPanelUI.java index f4e1f5e..7e72d73 100644 --- a/libjava/javax/swing/plaf/basic/BasicPanelUI.java +++ b/libjava/javax/swing/plaf/basic/BasicPanelUI.java @@ -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); } } diff --git a/libjava/javax/swing/plaf/basic/BasicRadioButtonUI.java b/libjava/javax/swing/plaf/basic/BasicRadioButtonUI.java index edf357e..15d2e7a 100644 --- a/libjava/javax/swing/plaf/basic/BasicRadioButtonUI.java +++ b/libjava/javax/swing/plaf/basic/BasicRadioButtonUI.java @@ -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); - } } diff --git a/libjava/javax/swing/plaf/basic/BasicToggleButtonUI.java b/libjava/javax/swing/plaf/basic/BasicToggleButtonUI.java index f18d85c..c6b3bdb 100644 --- a/libjava/javax/swing/plaf/basic/BasicToggleButtonUI.java +++ b/libjava/javax/swing/plaf/basic/BasicToggleButtonUI.java @@ -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); - } + } } diff --git a/libjava/javax/swing/plaf/metal/MetalLookAndFeel.java b/libjava/javax/swing/plaf/metal/MetalLookAndFeel.java index 075c0b2..20becaf 100644 --- a/libjava/javax/swing/plaf/metal/MetalLookAndFeel.java +++ b/libjava/javax/swing/plaf/metal/MetalLookAndFeel.java @@ -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; |