public void paintBorder(Component c, Graphics g, int x, int y, int w, int h) { if (JTattooUtilities.isFrameActive((JComponent) c)) { g.setColor(AbstractLookAndFeel.getFrameColor()); } else { g.setColor(ColorHelper.brighter(AbstractLookAndFeel.getFrameColor(), 40)); } g.drawRect(x, y, w - 1, h - 1); }
public void paintBorder(Component c, Graphics g, int x, int y, int w, int h) { AbstractButton button = (AbstractButton) c; ButtonModel model = button.getModel(); if (model.isEnabled()) { if ((model.isPressed() && model.isArmed()) || model.isSelected()) { Color frameColor = ColorHelper.darker(AbstractLookAndFeel.getToolbarBackgroundColor(), 30); g.setColor(frameColor); g.drawRect(x, y, w - 1, h - 1); Graphics2D g2D = (Graphics2D) g; Composite composite = g2D.getComposite(); AlphaComposite alpha = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.1f); g2D.setComposite(alpha); g.setColor(Color.black); g.fillRect(x + 1, y + 1, w - 2, h - 2); g2D.setComposite(composite); } else if (model.isRollover()) { Color frameColor = AbstractLookAndFeel.getToolbarBackgroundColor(); Color frameHiColor = ColorHelper.darker(frameColor, 5); Color frameLoColor = ColorHelper.darker(frameColor, 20); JTattooUtilities.draw3DBorder(g, frameHiColor, frameLoColor, x, y, w, h); frameHiColor = Color.white; frameLoColor = ColorHelper.brighter(frameLoColor, 60); JTattooUtilities.draw3DBorder(g, frameHiColor, frameLoColor, x + 1, y + 1, w - 2, h - 2); Graphics2D g2D = (Graphics2D) g; Composite composite = g2D.getComposite(); AlphaComposite alpha = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.4f); g2D.setComposite(alpha); g.setColor(Color.white); g.fillRect(x + 2, y + 2, w - 4, h - 4); g2D.setComposite(composite); g.setColor(AbstractLookAndFeel.getFocusColor()); g.drawLine(x + 1, y + 1, x + w - 1, y + 1); g.drawLine(x + 1, y + 2, x + w - 2, y + 2); } else if (model.isSelected()) { Color frameColor = AbstractLookAndFeel.getToolbarBackgroundColor(); Color frameHiColor = Color.white; Color frameLoColor = ColorHelper.darker(frameColor, 30); JTattooUtilities.draw3DBorder(g, frameLoColor, frameHiColor, x, y, w, h); } } }
public void paintIcon(Component c, Graphics g, int x, int y) { if (!JTattooUtilities.isLeftToRight(c)) { x += GAP; } int w = getIconWidth() - GAP; int h = getIconHeight(); AbstractButton button = (AbstractButton) c; ButtonModel model = button.getModel(); Graphics2D g2D = (Graphics2D) g; if (button.isEnabled()) { if ((button.isRolloverEnabled() && model.isRollover())) { JTattooUtilities.fillHorGradient( g, AbstractLookAndFeel.getTheme().getRolloverColors(), x + 1, y + 1, w - 1, h - 1); } else { if (AbstractLookAndFeel.getTheme().doShowFocusFrame() && button.hasFocus()) { JTattooUtilities.fillHorGradient( g, AbstractLookAndFeel.getTheme().getFocusColors(), x + 1, y + 1, w - 1, h - 1); } else { JTattooUtilities.fillHorGradient( g, AbstractLookAndFeel.getTheme().getCheckBoxColors(), x + 1, y + 1, w - 1, h - 1); } } } else { JTattooUtilities.fillHorGradient( g, AbstractLookAndFeel.getTheme().getDisabledColors(), x + 1, y + 1, w - 1, h - 1); } Color frameColor = ColorHelper.brighter(AbstractLookAndFeel.getTheme().getButtonBackgroundColor(), 6); Color loFrameColor = ColorHelper.darker(AbstractLookAndFeel.getTheme().getButtonBackgroundColor(), 50); g.setColor(frameColor); g.drawRect(x, y, w, h); Composite savedComposite = g2D.getComposite(); AlphaComposite alpha = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.5f); g2D.setComposite(alpha); g.setColor(loFrameColor); g.drawLine(x + 1, y + 1, x + w - 1, y + 1); g.drawLine(x + 1, y + 1, x + 1, y + h - 1); g2D.setComposite(savedComposite); Icon checkIcon; Icon checkDisabledIcon; Icon checkInverseIcon; if (AbstractLookAndFeel.getTheme().isSmallFontSize()) { checkIcon = SMALL_CHECK_ICON; checkDisabledIcon = SMALL_CHECK_DISABLED_ICON; checkInverseIcon = SMALL_CHECK_INVERSE_ICON; } else if (AbstractLookAndFeel.getTheme().isMediumFontSize()) { checkIcon = MEDIUM_CHECK_ICON; checkDisabledIcon = MEDIUM_CHECK_DISABLED_ICON; checkInverseIcon = MEDIUM_CHECK_INVERSE_ICON; } else { checkIcon = LARGE_CHECK_ICON; checkDisabledIcon = LARGE_CHECK_DISABLED_ICON; checkInverseIcon = LARGE_CHECK_INVERSE_ICON; } int xi = x + ((w - checkIcon.getIconWidth()) / 2) + 1; int yi = y + ((h - checkIcon.getIconHeight()) / 2); int gv = ColorHelper.getGrayValue(AbstractLookAndFeel.getButtonForegroundColor()); if (model.isPressed() && model.isArmed()) { Color bc = gv > 128 ? AbstractLookAndFeel.getTheme().getSelectionForegroundColor() : AbstractLookAndFeel.getTheme().getSelectionBackgroundColor(); Color fc = gv > 128 ? ColorHelper.brighter(bc, 20) : ColorHelper.darker(bc, 40); g.setColor(fc); g.drawRect(x + 4, y + 4, w - 8, h - 8); g.setColor(bc); g.fillRect(x + 5, y + 5, w - 9, h - 9); } else if (model.isSelected()) { if (!model.isEnabled()) { checkDisabledIcon.paintIcon(c, g, xi + 1, yi); } else { if (gv > 128) { checkIcon.paintIcon(c, g, xi, yi); } else { checkInverseIcon.paintIcon(c, g, xi + 1, yi + 1); } } } }
public void paintBorder(Component c, Graphics g, int x, int y, int w, int h) { Graphics2D g2D = (Graphics2D) g; boolean active = isActive(c); boolean resizable = isResizable(c); int th = getTitleHeight(c); Color frameColor = AbstractLookAndFeel.getWindowInactiveBorderColor(); Color titleColor = AbstractLookAndFeel.getWindowInactiveTitleColorLight(); if (active) { titleColor = AbstractLookAndFeel.getWindowTitleColorLight(); frameColor = AbstractLookAndFeel.getWindowBorderColor(); } if (!resizable) { Insets bi = getBorderInsets(c); g.setColor(frameColor); g.drawRect(x, y, w - 1, h - 1); if (active) { g.setColor(AbstractLookAndFeel.getWindowTitleColorDark()); } else { g.setColor(AbstractLookAndFeel.getWindowInactiveTitleColorDark()); } for (int i = 1; i < bi.left; i++) { g.drawRect(i, i, w - (2 * i) - 1, h - (2 * i) - 1); } g.setColor(frameColor); g.drawLine(bi.left - 1, y + th + bi.top, bi.left - 1, y + h - bi.bottom); g.drawLine(w - bi.right, y + th + bi.top, w - bi.right, y + h - bi.bottom); g.drawLine(bi.left - 1, y + h - bi.bottom, w - bi.right, y + h - bi.bottom); return; } g.setColor(titleColor); g.fillRect(x, y + 1, w, dw - 1); g.fillRect(x + 1, y + h - dw, w - 2, dw - 1); Color color = ColorHelper.brighter(AbstractLookAndFeel.getWindowTitleColorDark(), 30); if (active) { JTattooUtilities.fillHorGradient( g, AbstractLookAndFeel.getTheme().getWindowTitleColors(), 1, dw, dw, th + 1); JTattooUtilities.fillHorGradient( g, AbstractLookAndFeel.getTheme().getWindowTitleColors(), w - dw, dw, dw, th + 1); Color c1 = AbstractLookAndFeel.getTheme().getWindowTitleColorDark(); Color c2 = AbstractLookAndFeel.getTheme().getWindowTitleColorLight(); g2D.setPaint(new GradientPaint(0, dw + th + 1, c1, 0, h - th - (2 * dw), c2)); g.fillRect(1, dw + th + 1, dw - 1, h - th - (2 * dw)); g.fillRect(w - dw, dw + th + 1, dw - 1, h - th - (2 * dw)); g2D.setPaint(null); } else { JTattooUtilities.fillHorGradient( g, AbstractLookAndFeel.getTheme().getWindowInactiveTitleColors(), 1, dw, dw, th + 1); JTattooUtilities.fillHorGradient( g, AbstractLookAndFeel.getTheme().getWindowInactiveTitleColors(), w - dw, dw, dw, th + 1); Color c1 = AbstractLookAndFeel.getTheme().getWindowInactiveTitleColorDark(); Color c2 = AbstractLookAndFeel.getTheme().getWindowInactiveTitleColorLight(); g2D.setPaint(new GradientPaint(0, dw + th + 1, c1, 0, h - th - (2 * dw), c2)); g.fillRect(1, dw + th + 1, dw - 1, h - th - (2 * dw)); g.fillRect(w - dw, dw + th + 1, dw - 1, h - th - (2 * dw)); g2D.setPaint(null); } if (active && resizable) { int d = dw + 12; // unten color = AbstractLookAndFeel.getWindowTitleColorDark(); Color cHi = ColorHelper.brighter(color, 30); Color cLo = ColorHelper.darker(color, 20); // links g.setColor(color); g.fillRect(x + 1, y + h - d, dw - 1, d - 1); g.fillRect(x + dw, y + h - dw, d - dw - 1, d - dw - 1); g.setColor(cLo); g.drawLine(x + 1, y + h - d - 2, x + dw - 2, y + h - d - 2); g.drawLine(x + dw - 2, y + h - d - 2, x + dw - 2, y + h - dw); g.drawLine(x + dw - 2, y + h - dw, x + d - 1, y + h - dw); g.drawLine(x + d - 1, y + h - dw, x + d - 1, y + h - 1); g.setColor(cHi); g.drawLine(x + 1, y + h - d - 1, x + dw - 3, y + h - d - 1); g.drawLine(x + dw - 1, y + h - d - 1, x + dw - 1, y + h - dw - 1); g.drawLine(x + dw - 1, y + h - dw + 1, x + d - 2, y + h - dw + 1); g.drawLine(x + d - 2, y + h - dw + 1, x + d - 2, y + h - 1); // rechts g.setColor(color); g.fillRect(x + w - d - 1, y + h - dw, d, dw - 1); g.fillRect(x + w - dw, y + h - d - 1, dw - 1, d); g.setColor(cLo); g.drawLine(x + w - dw - 1, y + h - d - 2, x + w - 1, y + h - d - 2); g.drawLine(x + w - dw, y + h - d - 2, x + w - dw, y + h - dw); g.drawLine(x + w - d - 1, y + h - dw, x + w - dw, y + h - dw); g.drawLine(x + w - d - 1, y + h - dw, x + w - d - 1, y + h - 1); g.setColor(cHi); g.drawLine(x + w - dw + 1, y + h - d - 1, x + w - 1, y + h - d - 1); g.drawLine(x + w - dw + 1, y + h - d - 1, x + w - dw + 1, y + h - dw); g.drawLine(x + w - d, y + h - dw + 1, x + w - dw + 1, y + h - dw + 1); g.drawLine(x + w - d, y + h - dw + 1, x + w - d, y + h - 1); } g.setColor(frameColor); g.drawRect(x, y, w - 1, h - 1); g.drawLine(x + dw - 1, y + dw + th, x + dw - 1, y + h - dw); g.drawLine(x + w - dw, y + dw + th, x + w - dw, y + h - dw); g.drawLine(x + dw - 1, y + h - dw, x + w - dw, y + h - dw); }