home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 2000 March / pcp161a.iso / handson / files / copyjava.exe / com / sun / java / swing / plaf / metal / MetalIconFactory$RadioButtonMenuItemIcon.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-02-26  |  4.2 KB  |  97 lines

  1. package com.sun.java.swing.plaf.metal;
  2.  
  3. import com.sun.java.swing.AbstractButton;
  4. import com.sun.java.swing.ButtonModel;
  5. import com.sun.java.swing.Icon;
  6. import com.sun.java.swing.JMenu;
  7. import com.sun.java.swing.JMenuItem;
  8. import com.sun.java.swing.plaf.UIResource;
  9. import java.awt.Component;
  10. import java.awt.Graphics;
  11. import java.io.Serializable;
  12.  
  13. class MetalIconFactory$RadioButtonMenuItemIcon implements Icon, UIResource, Serializable {
  14.    public void paintIcon(Component var1, Graphics var2, int var3, int var4) {
  15.       JMenuItem var5 = (JMenuItem)var1;
  16.       ButtonModel var6 = ((AbstractButton)var5).getModel();
  17.       boolean var7 = var6.isSelected();
  18.       boolean var8 = var6.isEnabled();
  19.       boolean var9 = var6.isPressed();
  20.       boolean var10 = var6.isArmed();
  21.       var2.translate(var3 + MetalIconFactory.access$5(), var4);
  22.       if (var8) {
  23.          if (!var9 && !var10) {
  24.             var2.setColor(MetalLookAndFeel.getControlHighlight());
  25.             var2.drawLine(3, 1, 8, 1);
  26.             var2.drawLine(2, 9, 7, 9);
  27.             var2.drawLine(1, 3, 1, 8);
  28.             var2.drawLine(9, 2, 9, 7);
  29.             var2.drawLine(2, 2, 2, 2);
  30.             var2.drawLine(8, 8, 8, 8);
  31.             var2.setColor(MetalLookAndFeel.getControlDarkShadow());
  32.             var2.drawLine(2, 0, 6, 0);
  33.             var2.drawLine(2, 8, 6, 8);
  34.             var2.drawLine(0, 2, 0, 6);
  35.             var2.drawLine(8, 2, 8, 6);
  36.             var2.drawLine(1, 1, 1, 1);
  37.             var2.drawLine(7, 1, 7, 1);
  38.             var2.drawLine(1, 7, 1, 7);
  39.             var2.drawLine(7, 7, 7, 7);
  40.          } else {
  41.             var2.setColor(MetalLookAndFeel.getPrimaryControl());
  42.             var2.drawLine(3, 1, 8, 1);
  43.             var2.drawLine(2, 9, 7, 9);
  44.             var2.drawLine(1, 3, 1, 8);
  45.             var2.drawLine(9, 2, 9, 7);
  46.             var2.drawLine(2, 2, 2, 2);
  47.             var2.drawLine(8, 8, 8, 8);
  48.             var2.setColor(MetalLookAndFeel.getControlInfo());
  49.             var2.drawLine(2, 0, 6, 0);
  50.             var2.drawLine(2, 8, 6, 8);
  51.             var2.drawLine(0, 2, 0, 6);
  52.             var2.drawLine(8, 2, 8, 6);
  53.             var2.drawLine(1, 1, 1, 1);
  54.             var2.drawLine(7, 1, 7, 1);
  55.             var2.drawLine(1, 7, 1, 7);
  56.             var2.drawLine(7, 7, 7, 7);
  57.          }
  58.       } else {
  59.          var2.setColor(MetalLookAndFeel.getMenuDisabledForeground());
  60.          var2.drawLine(2, 0, 6, 0);
  61.          var2.drawLine(2, 8, 6, 8);
  62.          var2.drawLine(0, 2, 0, 6);
  63.          var2.drawLine(8, 2, 8, 6);
  64.          var2.drawLine(1, 1, 1, 1);
  65.          var2.drawLine(7, 1, 7, 1);
  66.          var2.drawLine(1, 7, 1, 7);
  67.          var2.drawLine(7, 7, 7, 7);
  68.       }
  69.  
  70.       if (var7) {
  71.          if (!var8) {
  72.             var2.setColor(MetalLookAndFeel.getMenuDisabledForeground());
  73.          } else if (!var6.isArmed() && (!(var1 instanceof JMenu) || !var6.isSelected())) {
  74.             var2.setColor(((Component)var5).getForeground());
  75.          } else {
  76.             var2.setColor(MetalLookAndFeel.getMenuSelectedForeground());
  77.          }
  78.  
  79.          var2.drawLine(3, 2, 5, 2);
  80.          var2.drawLine(2, 3, 6, 3);
  81.          var2.drawLine(2, 4, 6, 4);
  82.          var2.drawLine(2, 5, 6, 5);
  83.          var2.drawLine(3, 6, 5, 6);
  84.       }
  85.  
  86.       var2.translate(-(var3 + MetalIconFactory.access$5()), -var4);
  87.    }
  88.  
  89.    public int getIconWidth() {
  90.       return MetalIconFactory.access$4().width;
  91.    }
  92.  
  93.    public int getIconHeight() {
  94.       return MetalIconFactory.access$4().height;
  95.    }
  96. }
  97.