コード例 #1
0
ファイル: MotifBorders.java プロジェクト: ronshapiro/j86
  public static class BevelBorder extends AbstractBorder implements UIResource {
    private Color darkShadow = UIManager.getColor("controlShadow");
    private Color lightShadow = UIManager.getColor("controlLtHighlight");
    private boolean isRaised;

    public BevelBorder(boolean isRaised, Color darkShadow, Color lightShadow) {
      this.isRaised = isRaised;
      this.darkShadow = darkShadow;
      this.lightShadow = lightShadow;
    }

    public void paintBorder(Component c, Graphics g, int x, int y, int w, int h) {
      g.setColor((isRaised) ? lightShadow : darkShadow);
      g.drawLine(x, y, x + w - 1, y); // top
      g.drawLine(x, y + h - 1, x, y + 1); // left

      g.setColor((isRaised) ? darkShadow : lightShadow);
      g.drawLine(x + 1, y + h - 1, x + w - 1, y + h - 1); // bottom
      g.drawLine(x + w - 1, y + h - 1, x + w - 1, y + 1); // right
    }

    public Insets getBorderInsets(Component c, Insets insets) {
      insets.set(1, 1, 1, 1);
      return insets;
    }

    public boolean isOpaque(Component c) {
      return true;
    }
  }
コード例 #2
0
    public void paintIcon(Component c, Graphics g, int x, int y) {
      g.setColor(UIManager.getColor("InternalFrame.resizeIconHighlight"));
      g.drawLine(0, 11, 11, 0);
      g.drawLine(4, 11, 11, 4);
      g.drawLine(8, 11, 11, 8);

      g.setColor(UIManager.getColor("InternalFrame.resizeIconShadow"));
      g.drawLine(1, 11, 11, 1);
      g.drawLine(2, 11, 11, 2);
      g.drawLine(5, 11, 11, 5);
      g.drawLine(6, 11, 11, 6);
      g.drawLine(9, 11, 11, 9);
      g.drawLine(10, 11, 11, 10);
    }
コード例 #3
0
ファイル: MotifBorders.java プロジェクト: ronshapiro/j86
    /**
     * Draws the FrameBorder in the given Rect. Calls <b>drawTitleBar</b>, <b>drawLeftBorder</b>,
     * <b>drawRightBorder</b> and <b>drawBottomBorder</b>.
     */
    public void paintBorder(Component c, Graphics g, int x, int y, int width, int height) {
      if (isActiveFrame()) {
        frameColor = UIManager.getColor("activeCaptionBorder");
      } else {
        frameColor = UIManager.getColor("inactiveCaptionBorder");
      }
      frameHighlight = frameColor.brighter();
      frameShadow = frameColor.darker().darker();

      drawTopBorder(c, g, x, y, width, height);
      drawLeftBorder(c, g, x, y, width, height);
      drawRightBorder(c, g, x, y, width, height);
      drawBottomBorder(c, g, x, y, width, height);
    }
コード例 #4
0
    public void paintIcon(Component c, Graphics g, int x, int y) {
      AbstractButton b = (AbstractButton) c;
      ButtonModel model = b.getModel();
      XPStyle xp = XPStyle.getXP();

      if (xp != null) {
        Part part = Part.BP_RADIOBUTTON;
        Skin skin = xp.getSkin(b, part);
        State state;
        int index = 0;
        if (model.isSelected()) {
          state = State.CHECKEDNORMAL;
          if (!model.isEnabled()) {
            state = State.CHECKEDDISABLED;
          } else if (model.isPressed() && model.isArmed()) {
            state = State.CHECKEDPRESSED;
          } else if (model.isRollover()) {
            state = State.CHECKEDHOT;
          }
        } else {
          state = State.UNCHECKEDNORMAL;
          if (!model.isEnabled()) {
            state = State.UNCHECKEDDISABLED;
          } else if (model.isPressed() && model.isArmed()) {
            state = State.UNCHECKEDPRESSED;
          } else if (model.isRollover()) {
            state = State.UNCHECKEDHOT;
          }
        }
        skin.paintSkin(g, x, y, state);
      } else {
        // fill interior
        if ((model.isPressed() && model.isArmed()) || !model.isEnabled()) {
          g.setColor(UIManager.getColor("RadioButton.background"));
        } else {
          g.setColor(UIManager.getColor("RadioButton.interiorBackground"));
        }
        g.fillRect(x + 2, y + 2, 8, 8);

        // outter left arc
        g.setColor(UIManager.getColor("RadioButton.shadow"));
        g.drawLine(x + 4, y + 0, x + 7, y + 0);
        g.drawLine(x + 2, y + 1, x + 3, y + 1);
        g.drawLine(x + 8, y + 1, x + 9, y + 1);
        g.drawLine(x + 1, y + 2, x + 1, y + 3);
        g.drawLine(x + 0, y + 4, x + 0, y + 7);
        g.drawLine(x + 1, y + 8, x + 1, y + 9);

        // outter right arc
        g.setColor(UIManager.getColor("RadioButton.highlight"));
        g.drawLine(x + 2, y + 10, x + 3, y + 10);
        g.drawLine(x + 4, y + 11, x + 7, y + 11);
        g.drawLine(x + 8, y + 10, x + 9, y + 10);
        g.drawLine(x + 10, y + 9, x + 10, y + 8);
        g.drawLine(x + 11, y + 7, x + 11, y + 4);
        g.drawLine(x + 10, y + 3, x + 10, y + 2);

        // inner left arc
        g.setColor(UIManager.getColor("RadioButton.darkShadow"));
        g.drawLine(x + 4, y + 1, x + 7, y + 1);
        g.drawLine(x + 2, y + 2, x + 3, y + 2);
        g.drawLine(x + 8, y + 2, x + 9, y + 2);
        g.drawLine(x + 2, y + 3, x + 2, y + 3);
        g.drawLine(x + 1, y + 4, x + 1, y + 7);
        g.drawLine(x + 2, y + 8, x + 2, y + 8);

        // inner right arc
        g.setColor(UIManager.getColor("RadioButton.light"));
        g.drawLine(x + 2, y + 9, x + 3, y + 9);
        g.drawLine(x + 4, y + 10, x + 7, y + 10);
        g.drawLine(x + 8, y + 9, x + 9, y + 9);
        g.drawLine(x + 9, y + 8, x + 9, y + 8);
        g.drawLine(x + 10, y + 7, x + 10, y + 4);
        g.drawLine(x + 9, y + 3, x + 9, y + 3);

        // indicate whether selected or not
        if (model.isSelected()) {
          if (model.isEnabled()) {
            g.setColor(UIManager.getColor("RadioButton.foreground"));
          } else {
            g.setColor(UIManager.getColor("RadioButton.shadow"));
          }
          g.fillRect(x + 4, y + 5, 4, 2);
          g.fillRect(x + 5, y + 4, 2, 4);
        }
      }
    }
コード例 #5
0
    public void paintIcon(Component c, Graphics g, int x, int y) {
      JCheckBox cb = (JCheckBox) c;
      ButtonModel model = cb.getModel();
      XPStyle xp = XPStyle.getXP();

      if (xp != null) {
        State state;
        if (model.isSelected()) {
          state = State.CHECKEDNORMAL;
          if (!model.isEnabled()) {
            state = State.CHECKEDDISABLED;
          } else if (model.isPressed() && model.isArmed()) {
            state = State.CHECKEDPRESSED;
          } else if (model.isRollover()) {
            state = State.CHECKEDHOT;
          }
        } else {
          state = State.UNCHECKEDNORMAL;
          if (!model.isEnabled()) {
            state = State.UNCHECKEDDISABLED;
          } else if (model.isPressed() && model.isArmed()) {
            state = State.UNCHECKEDPRESSED;
          } else if (model.isRollover()) {
            state = State.UNCHECKEDHOT;
          }
        }
        Part part = Part.BP_CHECKBOX;
        xp.getSkin(c, part).paintSkin(g, x, y, state);
      } else {
        // outer bevel
        if (!cb.isBorderPaintedFlat()) {
          // Outer top/left
          g.setColor(UIManager.getColor("CheckBox.shadow"));
          g.drawLine(x, y, x + 11, y);
          g.drawLine(x, y + 1, x, y + 11);

          // Outer bottom/right
          g.setColor(UIManager.getColor("CheckBox.highlight"));
          g.drawLine(x + 12, y, x + 12, y + 12);
          g.drawLine(x, y + 12, x + 11, y + 12);

          // Inner top.left
          g.setColor(UIManager.getColor("CheckBox.darkShadow"));
          g.drawLine(x + 1, y + 1, x + 10, y + 1);
          g.drawLine(x + 1, y + 2, x + 1, y + 10);

          // Inner bottom/right
          g.setColor(UIManager.getColor("CheckBox.light"));
          g.drawLine(x + 1, y + 11, x + 11, y + 11);
          g.drawLine(x + 11, y + 1, x + 11, y + 10);

          // inside box
          if ((model.isPressed() && model.isArmed()) || !model.isEnabled()) {
            g.setColor(UIManager.getColor("CheckBox.background"));
          } else {
            g.setColor(UIManager.getColor("CheckBox.interiorBackground"));
          }
          g.fillRect(x + 2, y + 2, csize - 4, csize - 4);
        } else {
          g.setColor(UIManager.getColor("CheckBox.shadow"));
          g.drawRect(x + 1, y + 1, csize - 3, csize - 3);

          if ((model.isPressed() && model.isArmed()) || !model.isEnabled()) {
            g.setColor(UIManager.getColor("CheckBox.background"));
          } else {
            g.setColor(UIManager.getColor("CheckBox.interiorBackground"));
          }
          g.fillRect(x + 2, y + 2, csize - 4, csize - 4);
        }

        if (model.isEnabled()) {
          g.setColor(UIManager.getColor("CheckBox.foreground"));
        } else {
          g.setColor(UIManager.getColor("CheckBox.shadow"));
        }

        // paint check
        if (model.isSelected()) {
          g.drawLine(x + 9, y + 3, x + 9, y + 3);
          g.drawLine(x + 8, y + 4, x + 9, y + 4);
          g.drawLine(x + 7, y + 5, x + 9, y + 5);
          g.drawLine(x + 6, y + 6, x + 8, y + 6);
          g.drawLine(x + 3, y + 7, x + 7, y + 7);
          g.drawLine(x + 4, y + 8, x + 6, y + 8);
          g.drawLine(x + 5, y + 9, x + 5, y + 9);
          g.drawLine(x + 3, y + 5, x + 3, y + 5);
          g.drawLine(x + 3, y + 6, x + 4, y + 6);
        }
      }
    }
コード例 #6
0
ファイル: MotifBorders.java プロジェクト: ronshapiro/j86
  public static class ButtonBorder extends AbstractBorder implements UIResource {
    protected Color focus = UIManager.getColor("activeCaptionBorder");
    protected Color shadow = UIManager.getColor("Button.shadow");
    protected Color highlight = UIManager.getColor("Button.light");
    protected Color darkShadow;

    public ButtonBorder(Color shadow, Color highlight, Color darkShadow, Color focus) {
      this.shadow = shadow;
      this.highlight = highlight;
      this.darkShadow = darkShadow;
      this.focus = focus;
    }

    public void paintBorder(Component c, Graphics g, int x, int y, int w, int h) {
      boolean isPressed = false;
      boolean hasFocus = false;
      boolean canBeDefault = false;
      boolean isDefault = false;

      if (c instanceof AbstractButton) {
        AbstractButton b = (AbstractButton) c;
        ButtonModel model = b.getModel();

        isPressed = (model.isArmed() && model.isPressed());
        hasFocus = (model.isArmed() && isPressed) || (b.isFocusPainted() && b.hasFocus());
        if (b instanceof JButton) {
          canBeDefault = ((JButton) b).isDefaultCapable();
          isDefault = ((JButton) b).isDefaultButton();
        }
      }
      int bx1 = x + 1;
      int by1 = y + 1;
      int bx2 = x + w - 2;
      int by2 = y + h - 2;

      if (canBeDefault) {
        if (isDefault) {
          g.setColor(shadow);
          g.drawLine(x + 3, y + 3, x + 3, y + h - 4);
          g.drawLine(x + 3, y + 3, x + w - 4, y + 3);

          g.setColor(highlight);
          g.drawLine(x + 4, y + h - 4, x + w - 4, y + h - 4);
          g.drawLine(x + w - 4, y + 3, x + w - 4, y + h - 4);
        }
        bx1 += 6;
        by1 += 6;
        bx2 -= 6;
        by2 -= 6;
      }

      if (hasFocus) {
        g.setColor(focus);
        if (isDefault) {
          g.drawRect(x, y, w - 1, h - 1);
        } else {
          g.drawRect(bx1 - 1, by1 - 1, bx2 - bx1 + 2, by2 - by1 + 2);
        }
      }

      g.setColor(isPressed ? shadow : highlight);
      g.drawLine(bx1, by1, bx2, by1);
      g.drawLine(bx1, by1, bx1, by2);

      g.setColor(isPressed ? highlight : shadow);
      g.drawLine(bx2, by1 + 1, bx2, by2);
      g.drawLine(bx1 + 1, by2, bx2, by2);
    }

    public Insets getBorderInsets(Component c, Insets insets) {
      int thickness = (c instanceof JButton && ((JButton) c).isDefaultCapable()) ? 8 : 2;
      insets.set(thickness, thickness, thickness, thickness);
      return insets;
    }
  }