diff options
Diffstat (limited to 'javax/swing/plaf/basic/BasicIconFactory.java')
-rw-r--r-- | javax/swing/plaf/basic/BasicIconFactory.java | 140 |
1 files changed, 132 insertions, 8 deletions
diff --git a/javax/swing/plaf/basic/BasicIconFactory.java b/javax/swing/plaf/basic/BasicIconFactory.java index 3a8adf3bf..39e86b6fb 100644 --- a/javax/swing/plaf/basic/BasicIconFactory.java +++ b/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 |