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); }
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); }
/* */ 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); /* */ }