public void paintPalette(Graphics g) {
    boolean leftToRight = MetalUtils.isLeftToRight(frame);

    int width = getWidth();
    int height = getHeight();

    if (paletteBumps == null) {
      paletteBumps =
          new MetalBumps(
              0,
              0,
              MetalLookAndFeel.getPrimaryControlHighlight(),
              MetalLookAndFeel.getPrimaryControlInfo(),
              MetalLookAndFeel.getPrimaryControlShadow());
    }

    Color background = MetalLookAndFeel.getPrimaryControlShadow();
    Color darkShadow = MetalLookAndFeel.getPrimaryControlDarkShadow();

    g.setColor(background);
    g.fillRect(0, 0, width, height);

    g.setColor(darkShadow);
    g.drawLine(0, height - 1, width, height - 1);

    int xOffset = leftToRight ? 4 : buttonsWidth + 4;
    int bumpLength = width - buttonsWidth - 2 * 4;
    int bumpHeight = getHeight() - 4;
    paletteBumps.setBumpArea(bumpLength, bumpHeight);
    paletteBumps.paintIcon(this, g, xOffset, 2);
  }
Esempio n. 2
0
    public void paintBorder(Component c, Graphics g, int x, int y, int w, int h) {
      g.translate(x, y);

      if (((JToolBar) c).isFloatable()) {
        if (((JToolBar) c).getOrientation() == HORIZONTAL) {
          int shift = MetalLookAndFeel.usingOcean() ? -1 : 0;
          bumps.setBumpArea(10, h - 4);
          if (MetalUtils.isLeftToRight(c)) {
            bumps.paintIcon(c, g, 2, 2 + shift);
          } else {
            bumps.paintIcon(c, g, w - 12, 2 + shift);
          }
        } else // vertical
        {
          bumps.setBumpArea(w - 4, 10);
          bumps.paintIcon(c, g, 2, 2);
        }
      }

      if (((JToolBar) c).getOrientation() == HORIZONTAL && MetalLookAndFeel.usingOcean()) {
        g.setColor(MetalLookAndFeel.getControl());
        g.drawLine(0, h - 2, w, h - 2);
        g.setColor(UIManager.getColor("ToolBar.borderColor"));
        g.drawLine(0, h - 1, w, h - 1);
      }

      g.translate(-x, -y);
    }
 public void paint(Graphics g) {
   MetalBumps usedBumps;
   if (splitPane.hasFocus()) {
     usedBumps = focusBumps;
     g.setColor(primaryControlColor);
   } else {
     usedBumps = bumps;
     g.setColor(controlColor);
   }
   Rectangle clip = g.getClipBounds();
   Insets insets = getInsets();
   g.fillRect(clip.x, clip.y, clip.width, clip.height);
   Dimension size = getSize();
   size.width -= inset * 2;
   size.height -= inset * 2;
   int drawX = inset;
   int drawY = inset;
   if (insets != null) {
     size.width -= (insets.left + insets.right);
     size.height -= (insets.top + insets.bottom);
     drawX += insets.left;
     drawY += insets.top;
   }
   usedBumps.setBumpArea(size);
   usedBumps.paintIcon(this, g, drawX, drawY);
   super.paint(g);
 }
  public void paintComponent(Graphics g) {
    if (isPalette) {
      paintPalette(g);
      return;
    }

    boolean leftToRight = MetalUtils.isLeftToRight(frame);
    boolean isSelected = frame.isSelected();

    int width = getWidth();
    int height = getHeight();

    Color background = null;
    Color foreground = null;
    Color shadow = null;

    MetalBumps bumps;
    String gradientKey;

    if (isSelected) {
      if (!MetalLookAndFeel.usingOcean()) {
        closeButton.setContentAreaFilled(true);
        maxButton.setContentAreaFilled(true);
        iconButton.setContentAreaFilled(true);
      }
      if (selectedBackgroundKey != null) {
        background = UIManager.getColor(selectedBackgroundKey);
      }
      if (background == null) {
        background = MetalLookAndFeel.getWindowTitleBackground();
      }
      if (selectedForegroundKey != null) {
        foreground = UIManager.getColor(selectedForegroundKey);
      }
      if (selectedShadowKey != null) {
        shadow = UIManager.getColor(selectedShadowKey);
      }
      if (shadow == null) {
        shadow = MetalLookAndFeel.getPrimaryControlDarkShadow();
      }
      if (foreground == null) {
        foreground = MetalLookAndFeel.getWindowTitleForeground();
      }
      activeBumps.setBumpColors(
          activeBumpsHighlight,
          activeBumpsShadow,
          UIManager.get("InternalFrame.activeTitleGradient") != null ? null : background);
      bumps = activeBumps;
      gradientKey = "InternalFrame.activeTitleGradient";
    } else {
      if (!MetalLookAndFeel.usingOcean()) {
        closeButton.setContentAreaFilled(false);
        maxButton.setContentAreaFilled(false);
        iconButton.setContentAreaFilled(false);
      }
      background = MetalLookAndFeel.getWindowTitleInactiveBackground();
      foreground = MetalLookAndFeel.getWindowTitleInactiveForeground();
      shadow = MetalLookAndFeel.getControlDarkShadow();
      bumps = inactiveBumps;
      gradientKey = "InternalFrame.inactiveTitleGradient";
    }

    if (!MetalUtils.drawGradient(this, g, gradientKey, 0, 0, width, height, true)) {
      g.setColor(background);
      g.fillRect(0, 0, width, height);
    }

    g.setColor(shadow);
    g.drawLine(0, height - 1, width, height - 1);
    g.drawLine(0, 0, 0, 0);
    g.drawLine(width - 1, 0, width - 1, 0);

    int titleLength = 0;
    int xOffset = leftToRight ? 5 : width - 5;
    String frameTitle = frame.getTitle();

    Icon icon = frame.getFrameIcon();
    if (icon != null) {
      if (!leftToRight) xOffset -= icon.getIconWidth();
      int iconY = ((height / 2) - (icon.getIconHeight() / 2));
      icon.paintIcon(frame, g, xOffset, iconY);
      xOffset += leftToRight ? icon.getIconWidth() + 5 : -5;
    }

    if (frameTitle != null) {
      Font f = getFont();
      g.setFont(f);
      FontMetrics fm = SwingUtilities2.getFontMetrics(frame, g, f);
      int fHeight = fm.getHeight();

      g.setColor(foreground);

      int yOffset = ((height - fm.getHeight()) / 2) + fm.getAscent();

      Rectangle rect = new Rectangle(0, 0, 0, 0);
      if (frame.isIconifiable()) {
        rect = iconButton.getBounds();
      } else if (frame.isMaximizable()) {
        rect = maxButton.getBounds();
      } else if (frame.isClosable()) {
        rect = closeButton.getBounds();
      }
      int titleW;

      if (leftToRight) {
        if (rect.x == 0) {
          rect.x = frame.getWidth() - frame.getInsets().right - 2;
        }
        titleW = rect.x - xOffset - 4;
        frameTitle = getTitle(frameTitle, fm, titleW);
      } else {
        titleW = xOffset - rect.x - rect.width - 4;
        frameTitle = getTitle(frameTitle, fm, titleW);
        xOffset -= SwingUtilities2.stringWidth(frame, fm, frameTitle);
      }

      titleLength = SwingUtilities2.stringWidth(frame, fm, frameTitle);
      SwingUtilities2.drawString(frame, g, frameTitle, xOffset, yOffset);
      xOffset += leftToRight ? titleLength + 5 : -5;
    }

    int bumpXOffset;
    int bumpLength;
    if (leftToRight) {
      bumpLength = width - buttonsWidth - xOffset - 5;
      bumpXOffset = xOffset;
    } else {
      bumpLength = xOffset - buttonsWidth - 5;
      bumpXOffset = buttonsWidth + 5;
    }
    int bumpYOffset = 3;
    int bumpHeight = getHeight() - (2 * bumpYOffset);
    bumps.setBumpArea(bumpLength, bumpHeight);
    bumps.paintIcon(this, g, bumpXOffset, bumpYOffset);
  }
Esempio n. 5
0
 /*      */ public void paintComponent(Graphics paramGraphics) /*      */ {
   /*  687 */ if (getFrame() != null) {
     /*  688 */ setState(getFrame().getExtendedState());
     /*      */ }
   /*  690 */ JRootPane localJRootPane = getRootPane();
   /*  691 */ Window localWindow = getWindow();
   /*  692 */ boolean bool1 =
       localWindow == null
           ? localJRootPane.getComponentOrientation().isLeftToRight()
           : localWindow.getComponentOrientation().isLeftToRight();
   /*      */
   /*  695 */ boolean bool2 = localWindow == null ? true : localWindow.isActive();
   /*  696 */ int i = getWidth();
   /*  697 */ int j = getHeight();
   /*      */ Color localColor1;
   /*      */ Color localColor2;
   /*      */ Color localColor3;
   /*      */ MetalBumps localMetalBumps;
   /*  705 */ if (bool2) {
     /*  706 */ localColor1 = this.activeBackground;
     /*  707 */ localColor2 = this.activeForeground;
     /*  708 */ localColor3 = this.activeShadow;
     /*  709 */ localMetalBumps = this.activeBumps;
     /*      */ } else {
     /*  711 */ localColor1 = this.inactiveBackground;
     /*  712 */ localColor2 = this.inactiveForeground;
     /*  713 */ localColor3 = this.inactiveShadow;
     /*  714 */ localMetalBumps = this.inactiveBumps;
     /*      */ }
   /*      */
   /*  717 */ paramGraphics.setColor(localColor1);
   /*  718 */ paramGraphics.fillRect(0, 0, i, j);
   /*      */
   /*  720 */ paramGraphics.setColor(localColor3);
   /*  721 */ paramGraphics.drawLine(0, j - 1, i, j - 1);
   /*  722 */ paramGraphics.drawLine(0, 0, 0, 0);
   /*  723 */ paramGraphics.drawLine(i - 1, 0, i - 1, 0);
   /*      */
   /*  725 */ FontMetrics localFontMetrics1 = bool1 ? 5 : i - 5;
   /*      */
   /*  727 */ if (getWindowDecorationStyle() == 1) {
     /*  728 */ localFontMetrics1 += (bool1 ? 21 : -21);
     /*      */ }
   /*      */
   /*  731 */ String str = getTitle();
   /*      */ FontMetrics localFontMetrics2;
   /*      */ int m;
   /*  732 */ if (str != null) {
     /*  733 */ localFontMetrics2 = SwingUtilities2.getFontMetrics(localJRootPane, paramGraphics);
     /*      */
     /*  735 */ paramGraphics.setColor(localColor2);
     /*      */
     /*  737 */ m = (j - localFontMetrics2.getHeight()) / 2 + localFontMetrics2.getAscent();
     /*      */
     /*  739 */ Rectangle localRectangle = new Rectangle(0, 0, 0, 0);
     /*  740 */ if ((this.iconifyButton != null) && (this.iconifyButton.getParent() != null)) {
       /*  741 */ localRectangle = this.iconifyButton.getBounds();
       /*      */ }
     /*      */
     /*  745 */ if (bool1) {
       /*  746 */ if (localRectangle.x == 0) {
         /*  747 */ localRectangle.x =
             (localWindow.getWidth() - localWindow.getInsets().right - 2);
         /*      */ }
       /*  749 */ i1 = localRectangle.x - localFontMetrics1 - 4;
       /*  750 */ str =
           SwingUtilities2.clipStringIfNecessary(localJRootPane, localFontMetrics2, str, i1);
       /*      */ }
     /*      */ else {
       /*  753 */ i1 = localFontMetrics1 - localRectangle.x - localRectangle.width - 4;
       /*  754 */ str =
           SwingUtilities2.clipStringIfNecessary(localJRootPane, localFontMetrics2, str, i1);
       /*      */
       /*  756 */ localFontMetrics1 -=
           SwingUtilities2.stringWidth(localJRootPane, localFontMetrics2, str);
       /*      */ }
     /*      */
     /*  759 */ int i2 = SwingUtilities2.stringWidth(localJRootPane, localFontMetrics2, str);
     /*      */
     /*  761 */ SwingUtilities2.drawString(
         localJRootPane, paramGraphics, str, localFontMetrics1, m);
     /*      */
     /*  763 */ localFontMetrics1 += (bool1 ? i2 + 5 : -5);
     /*      */ }
   /*      */ int k;
   /*  768 */ if (bool1) {
     /*  769 */ m = i - this.buttonsWidth - localFontMetrics1 - 5;
     /*  770 */ localFontMetrics2 = localFontMetrics1;
     /*      */ } else {
     /*  772 */ m = localFontMetrics1 - this.buttonsWidth - 5;
     /*  773 */ k = this.buttonsWidth + 5;
     /*      */ }
   /*  775 */ int n = 3;
   /*  776 */ int i1 = getHeight() - 2 * n;
   /*  777 */ localMetalBumps.setBumpArea(m, i1);
   /*  778 */ localMetalBumps.paintIcon(this, paramGraphics, k, n);
   /*      */ }