summaryrefslogtreecommitdiff
path: root/javax/swing/plaf/basic/BasicIconFactory.java
diff options
context:
space:
mode:
Diffstat (limited to 'javax/swing/plaf/basic/BasicIconFactory.java')
-rw-r--r--javax/swing/plaf/basic/BasicIconFactory.java140
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