public void paintText(Graphics g, int x, int y, String title) { x += paintIcon(g, x, y); Graphics2D g2D = (Graphics2D) g; Shape savedClip = g2D.getClip(); Color fc = AbstractLookAndFeel.getWindowTitleForegroundColor(); if (fc.equals(Color.white)) { Color bc = AbstractLookAndFeel.getWindowTitleColorDark(); g2D.setColor(bc); JTattooUtilities.drawString(rootPane, g, title, x - 1, y - 1); g2D.setColor(ColorHelper.darker(bc, 30)); JTattooUtilities.drawString(rootPane, g, title, x + 1, y + 1); } g.setColor(fc); Area clipArea = new Area(new Rectangle2D.Double(x, 0, getWidth(), getHeight() / 2)); clipArea.intersect(new Area(savedClip)); g2D.setClip(clipArea); JTattooUtilities.drawString(rootPane, g, title, x, y); clipArea = new Area(new Rectangle2D.Double(x, (getHeight() / 2), getWidth(), getHeight())); clipArea.intersect(new Area(savedClip)); g2D.setClip(clipArea); g.setColor(ColorHelper.darker(fc, 20)); JTattooUtilities.drawString(rootPane, g, title, x, y); g2D.setClip(savedClip); }
public void paintText(Graphics g, int x, int y, String title) { g.setColor(Color.black); JTattooUtilities.drawString(rootPane, g, title, x + 1, y + 1); if (isActive()) { g.setColor(AbstractLookAndFeel.getWindowTitleForegroundColor()); } else { g.setColor(AbstractLookAndFeel.getWindowInactiveTitleForegroundColor()); } JTattooUtilities.drawString(rootPane, g, title, x, y); }
public static void fillComponent(Graphics g, Component c) { if (!JTattooUtilities.isMac() && AbstractLookAndFeel.getTheme().isBackgroundPatternOn()) { Point offset = JTattooUtilities.getRelLocation(c); Dimension size = JTattooUtilities.getFrameSize(c); Graphics2D g2D = (Graphics2D) g; g2D.setPaint(new AluminiumGradientPaint(offset, size)); g2D.fillRect(0, 0, c.getWidth(), c.getHeight()); g2D.setPaint(null); } else { g.setColor(c.getBackground()); g.fillRect(0, 0, c.getWidth(), c.getHeight()); } }
public void paintBorder(Component c, Graphics g, int x, int y, int w, int h) { AbstractButton button = (AbstractButton) c; ButtonModel model = button.getModel(); Color frameColor = AbstractLookAndFeel.getToolbarBackgroundColor(); Color frameHiColor = ColorHelper.brighter(frameColor, 10); Color frameLoColor = ColorHelper.darker(frameColor, 30); JTattooUtilities.draw3DBorder(g, frameHiColor, frameLoColor, x, y, w, h); if ((model.isPressed() && model.isArmed()) || model.isSelected()) { JTattooUtilities.draw3DBorder(g, frameLoColor, frameHiColor, x, y, w, h); } else { JTattooUtilities.draw3DBorder(g, frameLoColor, frameHiColor, x, y, w, h); JTattooUtilities.draw3DBorder(g, frameHiColor, frameLoColor, x + 1, y + 1, w - 2, h - 2); } }
public void paintBorder(Component c, Graphics g, int x, int y, int w, int h) { if (((JToolBar) c).isFloatable()) { Graphics2D g2D = (Graphics2D) g; Composite savedComposite = g2D.getComposite(); AlphaComposite alpha = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.5f); g2D.setComposite(alpha); if (((JToolBar) c).getOrientation() == HORIZONTAL) { if (!JTattooUtilities.isLeftToRight(c)) { x += w - 15; } g.setColor(Color.white); g.drawLine(x + 3, y + 4, x + 3, h - 5); g.drawLine(x + 6, y + 3, x + 6, h - 4); g.drawLine(x + 9, y + 4, x + 9, h - 5); g.setColor(shadow); g.drawLine(x + 4, y + 4, x + 4, h - 5); g.drawLine(x + 7, y + 3, x + 7, h - 4); g.drawLine(x + 10, y + 4, x + 10, h - 5); } else { // vertical g.setColor(Color.white); g.drawLine(x + 3, y + 3, w - 4, y + 3); g.drawLine(x + 3, y + 6, w - 4, y + 6); g.drawLine(x + 3, y + 9, w - 4, y + 9); g.setColor(shadow); g.drawLine(x + 3, y + 4, w - 4, y + 4); g.drawLine(x + 3, y + 7, w - 4, y + 7); g.drawLine(x + 3, y + 10, w - 4, y + 10); } g2D.setComposite(savedComposite); } }
public boolean isActive(Component c) { if (c instanceof JComponent) { return JTattooUtilities.isActive((JComponent) c); } else { return true; } }
protected void paintBackground(Graphics g, JComponent c, int x, int y, int w, int h) { JMenuItem b = (JMenuItem) c; ButtonModel model = b.getModel(); if (model.isArmed() || (c instanceof JMenu && model.isSelected())) { JTattooUtilities.fillHorGradient( g, AbstractLookAndFeel.getTheme().getMenuSelectionColors(), x, y, w, h); } else if (!AbstractLookAndFeel.getTheme().isMenuOpaque()) { Graphics2D g2D = (Graphics2D) g; Composite composite = g2D.getComposite(); AlphaComposite alpha = AlphaComposite.getInstance( AlphaComposite.SRC_OVER, AbstractLookAndFeel.getTheme().getMenuAlpha()); g2D.setComposite(alpha); g.setColor(AbstractLookAndFeel.getMenuBackgroundColor()); g.fillRect(x, y, w, h); g2D.setComposite(composite); } else { g.setColor(AbstractLookAndFeel.getMenuBackgroundColor()); g.fillRect(x, y, w, h); } if (menuItem.isSelected() && menuItem.isArmed()) { g.setColor(AbstractLookAndFeel.getMenuSelectionForegroundColor()); } else { g.setColor(AbstractLookAndFeel.getMenuForegroundColor()); } }
// Workaround to avoid a bug in the java 1.3 VM static { try { if (JTattooUtilities.getJavaVersion() < 1.4) { UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel"); } } catch (Exception ex) { } }
public void paintText(Graphics g, int x, int y, String title) { Color shadowColor = AcrylLookAndFeel.getWindowTitleColorDark(); if (isActive()) { shadowColor = ColorHelper.darker(shadowColor, 30); } g.setColor(shadowColor); JTattooUtilities.drawString(frame, g, title, x - 1, y - 1); JTattooUtilities.drawString(frame, g, title, x - 1, y + 1); JTattooUtilities.drawString(frame, g, title, x + 1, y - 1); JTattooUtilities.drawString(frame, g, title, x + 1, y + 1); if (isActive()) { g.setColor(AbstractLookAndFeel.getWindowTitleForegroundColor()); } else { g.setColor(AbstractLookAndFeel.getWindowInactiveTitleForegroundColor()); } JTattooUtilities.drawString(frame, g, title, x, y); }
public void paintPalette(Graphics g) { if (JTattooUtilities.isFrameActive(this)) { g.setColor(AbstractLookAndFeel.getWindowTitleBackgroundColor()); } else { g.setColor(AbstractLookAndFeel.getWindowInactiveTitleBackgroundColor()); } g.fillRect(0, 0, getWidth(), getHeight()); }
public void paintBorder(Component c, Graphics g, int x, int y, int w, int h) { if (JTattooUtilities.isFrameActive((JComponent) c)) { g.setColor(AbstractLookAndFeel.getWindowBorderColor()); } else { g.setColor(AbstractLookAndFeel.getWindowInactiveBorderColor()); } 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 paintBorder(Component c, Graphics g, int x, int y, int w, int h) { Color logoColor = AbstractLookAndFeel.getMenuSelectionBackgroundColor(); Color borderColorLo = AbstractLookAndFeel.getFrameColor(); Color borderColorHi = ColorHelper.brighter(AbstractLookAndFeel.getMenuSelectionBackgroundColor(), 40); g.setColor(logoColor); if (JTattooUtilities.isLeftToRight(c)) { int dx = getBorderInsets(c).left; g.fillRect(x, y, dx - 1, h - 1); paintLogo(c, g, x, y, w, h); // - highlight g.setColor(ColorHelper.brighter(AbstractLookAndFeel.getMenuBackgroundColor(), 40)); g.drawLine(x + dx, y + 1, x + w - 2, y + 1); g.setColor(borderColorHi); g.drawLine(x + 1, y, x + 1, y + h - 2); // - outer frame g.setColor(borderColorLo); if (isMenuBarPopup(c)) { // top g.drawLine(x + dx - 1, y, x + w, y); // left g.drawLine(x, y, x, y + h - 1); // bottom g.drawLine(x, y + h - 1, x + w, y + h - 1); // right g.drawLine(x + w - 1, y + 1, x + w - 1, y + h - 1); } else { g.drawRect(x, y, w - 1, h - 1); } // - logo separator g.drawLine(x + dx - 1, y + 1, x + dx - 1, y + h - 1); } else { int dx = getBorderInsets(c).right; g.fillRect(x + w - dx, y, dx, h - 1); paintLogo(c, g, x, y, w, h); // - highlight g.setColor(ColorHelper.brighter(AbstractLookAndFeel.getMenuBackgroundColor(), 40)); g.drawLine(x + 1, y + 1, x + w - dx - 1, y + 1); g.drawLine(x + 1, y + 1, x + 1, y + h - 2); // - outer frame g.setColor(borderColorLo); if (isMenuBarPopup(c)) { // top g.drawLine(x, y, x + w - dx, y); // left g.drawLine(x, y, x, y + h - 1); // bottom g.drawLine(x, y + h - 1, x + w, y + h - 1); // right g.drawLine(x + w - 1, y, x + w - 1, y + h - 1); } else { g.drawRect(x, y, w - 1, h - 1); } // - logo separator g.drawLine(x + w - dx, y + 1, x + w - dx, y + h - 1); } }
public static void fillComponent(Graphics g, Component c) { Graphics2D g2D = (Graphics2D) g; int w = c.getWidth(); int h = c.getHeight(); if (AbstractLookAndFeel.getTheme().isBackgroundPatternOn()) { // pattern Point p = JTattooUtilities.getRelLocation(c); Dimension d = JTattooUtilities.getFrameSize(c); int y = -p.y; while (y < h) { int x = -p.x; while (x < w) { BG_IMAGE.paintIcon(c, g, x, y); x += IMAGE_WIDTH; } y += IMAGE_HEIGHT; } if (JTattooUtilities.getJavaVersion() >= 1.6) { // higlight if (backgroundImage == null || backgroundImage.getWidth(null) != d.width || backgroundImage.getHeight(null) != d.height) { backgroundImage = c.createImage(d.width, d.height); Graphics2D ig2D = (Graphics2D) backgroundImage.getGraphics(); Point pt1 = new Point(0, 0); Point pt2 = new Point(d.width, 0); float fractions[] = {0.0f, 0.5f, 1.0f}; Color c1 = new Color(220, 220, 220); Color colors[] = {c1, Color.white, c1}; ig2D.setPaint(new LinearGradientPaint(pt1, pt2, fractions, colors)); ig2D.fillRect(0, 0, d.width, d.height); ig2D.dispose(); } Composite savedComposite = g2D.getComposite(); g2D.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.7f)); g2D.drawImage(backgroundImage, -p.x, 0, null); g2D.setComposite(savedComposite); } } else { g.setColor(c.getBackground()); g.fillRect(0, 0, w, h); } }
public void paintBorder(Component c, Graphics g, int x, int y, int w, int h) { Graphics2D g2D = (Graphics2D) g; Composite savedComposite = g2D.getComposite(); AlphaComposite alpha = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.8f); g2D.setComposite(alpha); Color cHi = AbstractLookAndFeel.getTheme().getControlHighlightColor(); Color cLo = AbstractLookAndFeel.getTheme().getControlShadowColor(); JTattooUtilities.draw3DBorder(g, cHi, cLo, x, y, w, h); g2D.setComposite(savedComposite); }
protected void paintText(Graphics g, AbstractButton b, Rectangle textRect, String text) { ButtonModel model = b.getModel(); FontMetrics fm = JTattooUtilities.getFontMetrics(b, g, b.getFont()); int mnemIndex; if (JTattooUtilities.getJavaVersion() >= 1.4) { mnemIndex = b.getDisplayedMnemonicIndex(); } else { mnemIndex = JTattooUtilities.findDisplayedMnemonicIndex(b.getText(), model.getMnemonic()); } int offs = 0; if (model.isArmed() && model.isPressed()) { offs = 1; } Graphics2D g2D = (Graphics2D) g; Composite composite = g2D.getComposite(); AlphaComposite alpha = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.6f); g2D.setComposite(alpha); Color foreground = b.getForeground(); Color background = b.getBackground(); if (background instanceof ColorUIResource) { if (model.isPressed() && model.isArmed()) { foreground = AbstractLookAndFeel.getTheme().getSelectionForegroundColor(); } else if (model.isRollover()) { foreground = AbstractLookAndFeel.getTheme().getRolloverForegroundColor(); } } if (!model.isEnabled()) { foreground = AbstractLookAndFeel.getTheme().getDisabledForegroundColor(); } if (ColorHelper.getGrayValue(foreground) > 64) { g2D.setColor(Color.black); } else { g2D.setColor(Color.white); } JTattooUtilities.drawStringUnderlineCharAt( b, g, text, mnemIndex, textRect.x + offs + 1, textRect.y + offs + fm.getAscent() + 1); g2D.setComposite(composite); g2D.setColor(foreground); JTattooUtilities.drawStringUnderlineCharAt( b, g, text, mnemIndex, textRect.x + offs, textRect.y + offs + fm.getAscent()); }
public void paint(Graphics g) { if (JTattooUtilities.isActive(this) || (alpha >= 1.0)) { super.paint(g); } else { Graphics2D g2D = (Graphics2D) g; Composite composite = g2D.getComposite(); AlphaComposite alphaComposite = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, alpha); g2D.setComposite(alphaComposite); super.paint(g); g2D.setComposite(composite); } }
public void paintBorder(Component c, Graphics g, int x, int y, int w, int h) { AbstractButton button = (AbstractButton) c; Graphics2D g2D = (Graphics2D) g; Color frameColor = AbstractLookAndFeel.getTheme().getFrameColor(); if (!JTattooUtilities.isFrameActive(button)) { frameColor = ColorHelper.brighter(frameColor, 40); } if (AbstractLookAndFeel.getTheme().doDrawSquareButtons()) { g2D.setColor(Color.white); g2D.drawRect(x, y, w - 1, h - 1); if (button.getRootPane() != null && button.equals(button.getRootPane().getDefaultButton()) && !button.hasFocus()) { g2D.setColor(ColorHelper.darker(frameColor, 20)); g2D.drawRect(x, y, w - 1, h - 2); if (!button.getModel().isRollover()) { g2D.setColor(defaultColorHi); g2D.drawRect(x + 1, y + 1, w - 3, h - 4); g2D.setColor(defaultColorLo); g2D.drawRect(x + 2, y + 2, w - 5, h - 6); } } else { g2D.setColor(frameColor); g2D.drawRect(x, y, w - 2, h - 2); } } else { Object savedRederingHint = g2D.getRenderingHint(RenderingHints.KEY_ANTIALIASING); g2D.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); if (button.getRootPane() != null && button.equals(button.getRootPane().getDefaultButton())) { if (!button.getModel().isRollover()) { g2D.setColor(defaultColorHi); g2D.drawRoundRect(x + 1, y + 1, w - 4, h - 2, 6, 6); g2D.setColor(defaultColorLo); g2D.drawRoundRect(x + 2, y + 2, w - 6, h - 6, 6, 6); } } g2D.setColor(Color.white); g2D.drawRoundRect(x, y, w - 1, h - 1, 6, 6); g2D.setColor(frameColor); g2D.drawRoundRect(x, y, w - 2, h - 2, 6, 6); g2D.setRenderingHint(RenderingHints.KEY_ANTIALIASING, savedRederingHint); } }
protected void initClassDefaults(UIDefaults table) { if (!"graphiteTheme".equals(currentThemeName)) { setTheme("Default"); } super.initClassDefaults(table); Object[] uiDefaults = { // BaseLookAndFeel classes "LabelUI", BaseLabelUI.class.getName(), "ToggleButtonUI", BaseToggleButtonUI.class.getName(), "SeparatorUI", BaseSeparatorUI.class.getName(), "TextFieldUI", BaseTextFieldUI.class.getName(), "TextAreaUI", BaseTextAreaUI.class.getName(), "EditorPaneUI", BaseEditorPaneUI.class.getName(), "PasswordFieldUI", BasePasswordFieldUI.class.getName(), "ComboBoxUI", BaseComboBoxUI.class.getName(), "ToolTipUI", BaseToolTipUI.class.getName(), "TreeUI", BaseTreeUI.class.getName(), "TableUI", BaseTableUI.class.getName(), "TableHeaderUI", BaseTableHeaderUI.class.getName(), "ScrollBarUI", BaseScrollBarUI.class.getName(), "ScrollPaneUI", BaseScrollPaneUI.class.getName(), "ProgressBarUI", BaseProgressBarUI.class.getName(), "PanelUI", BasePanelUI.class.getName(), "SplitPaneUI", BaseSplitPaneUI.class.getName(), "SliderUI", BaseSliderUI.class.getName(), "FileChooserUI", BaseFileChooserUI.class.getName(), "MenuBarUI", BaseMenuBarUI.class.getName(), "PopupMenuUI", BasePopupMenuUI.class.getName(), "PopupMenuSeparatorUI", BaseSeparatorUI.class.getName(), "DesktopPaneUI", BaseDesktopPaneUI.class.getName(), // GraphiteLookAndFeel classes "RadioButtonUI", GraphiteRadioButtonUI.class.getName(), "CheckBoxUI", GraphiteCheckBoxUI.class.getName(), "ButtonUI", GraphiteButtonUI.class.getName(), "MenuUI", GraphiteMenuUI.class.getName(), "MenuItemUI", GraphiteMenuItemUI.class.getName(), "CheckBoxMenuItemUI", GraphiteCheckBoxMenuItemUI.class.getName(), "RadioButtonMenuItemUI", GraphiteRadioButtonMenuItemUI.class.getName(), "TabbedPaneUI", GraphiteTabbedPaneUI.class.getName(), "ToolBarUI", GraphiteToolBarUI.class.getName(), "InternalFrameUI", GraphiteInternalFrameUI.class.getName(), "RootPaneUI", GraphiteRootPaneUI.class.getName(), }; table.putDefaults(uiDefaults); if (JTattooUtilities.getJavaVersion() >= 1.5) { table.put("FormattedTextFieldUI", BaseFormattedTextFieldUI.class.getName()); table.put("SpinnerUI", BaseSpinnerUI.class.getName()); } }
public void paintBackground(Graphics g) { if (backgroundImage != null) { g.drawImage(backgroundImage, 0, 0, null); } else { BernsteinUtils.fillComponent(g, this); } Graphics2D g2D = (Graphics2D) g; Composite composite = g2D.getComposite(); AlphaComposite alpha = null; if (backgroundImage != null) { alpha = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, alphaValue); } else { alpha = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.4f); } g2D.setComposite(alpha); JTattooUtilities.fillHorGradient( g, AbstractLookAndFeel.getTheme().getDefaultColors(), 0, 0, getWidth(), getHeight()); g2D.setComposite(composite); }
public Insets getBorderInsets(Component c) { if (hasLogo(c)) { if (JTattooUtilities.isLeftToRight(c)) { return new Insets( leftLogoInsets.top, leftLogoInsets.left, leftLogoInsets.bottom + shadowSize, leftLogoInsets.right + shadowSize); } else { return new Insets( rightLogoInsets.top, rightLogoInsets.left, rightLogoInsets.bottom + shadowSize, rightLogoInsets.right + shadowSize); } } else { return new Insets( insets.top, insets.left, insets.bottom + shadowSize, insets.right + shadowSize); } }
public void layoutDefault(Container c) { boolean leftToRight = JTattooUtilities.isLeftToRight(frame); int spacing = getHorSpacing(); int w = getWidth(); int h = getHeight(); // assumes all buttons have the same dimensions these dimensions include the borders int buttonHeight = h - getVerSpacing(); int buttonWidth = buttonHeight + 10; int x = leftToRight ? w - spacing : 0; int y = Math.max(0, ((h - buttonHeight) / 2) - 1); if (frame.isClosable()) { x += leftToRight ? -buttonWidth : spacing; closeButton.setBounds(x, y, buttonWidth, buttonHeight); if (!leftToRight) { x += buttonWidth; } } if (frame.isMaximizable() && !isPalette) { x += leftToRight ? -spacing - buttonWidth : spacing; maxButton.setBounds(x, y, buttonWidth, buttonHeight); if (!leftToRight) { x += buttonWidth; } } if (frame.isIconifiable() && !isPalette) { x += leftToRight ? -spacing - buttonWidth : spacing; iconButton.setBounds(x, y, buttonWidth, buttonHeight); if (!leftToRight) { x += buttonWidth; } } buttonsWidth = leftToRight ? w - x : x; }
public Insets getBorderInsets(Component c) { Insets insets = new Insets(2, 2, 2, 2); if (((JToolBar) c).isFloatable()) { if (((JToolBar) c).getOrientation() == HORIZONTAL) { if (JTattooUtilities.isLeftToRight(c)) { insets.left = 15; } else { insets.right = 15; } } else { insets.top = 15; } } Insets margin = ((JToolBar) c).getMargin(); if (margin != null) { insets.left += margin.left; insets.top += margin.top; insets.right += margin.right; insets.bottom += margin.bottom; } return insets; }
public static void fillComponent(Graphics g, Component c, Icon texture) { int x = 0; int y = 0; int w = c.getWidth(); int h = c.getHeight(); if (texture != null) { int tw = texture.getIconWidth(); int th = texture.getIconHeight(); Point p = JTattooUtilities.getRelLocation(c); y = -p.y; while (y < h) { x = -p.x; while (x < w) { texture.paintIcon(c, g, x, y); x += tw; } y += th; } } else { g.setColor(c.getBackground()); g.fillRect(x, y, w, h); } }
public void paintLogo(Component c, Graphics g, int x, int y, int w, int h) { if (hasLogo(c)) { Graphics2D g2D = (Graphics2D) g; Font savedFont = g2D.getFont(); g.setFont(logoFont); FontMetrics fm = JTattooUtilities.getFontMetrics((JComponent) c, g, c.getFont()); String logo = JTattooUtilities.getClippedText( AbstractLookAndFeel.getTheme().getLogoString(), fm, h - 16); AffineTransform savedTransform = g2D.getTransform(); Color fc = getLogoColorHi(); Color bc = getLogoColorLo(); if (JTattooUtilities.isLeftToRight(c)) { g2D.translate(fm.getAscent() + 1, h - shadowSize - 4); g2D.rotate(Math.toRadians(-90)); g2D.setColor(bc); JTattooUtilities.drawString((JComponent) c, g, logo, 0, 1); g2D.setColor(fc); JTattooUtilities.drawString((JComponent) c, g, logo, 1, 0); } else { g2D.translate(w - shadowSize - 4, h - shadowSize - 4); g2D.rotate(Math.toRadians(-90)); g2D.setColor(bc); JTattooUtilities.drawString((JComponent) c, g, logo, 0, 1); g2D.setColor(fc); JTattooUtilities.drawString((JComponent) c, g, logo, 1, 0); } g2D.setTransform(savedTransform); g2D.setFont(savedFont); } }
protected void paintText(Graphics g, JComponent c, String text, Rectangle textRect) { View v = (View) c.getClientProperty(BasicHTML.propertyKey); if (v != null) { v.paint(g, textRect); } else { AbstractButton b = (AbstractButton) c; ButtonModel model = b.getModel(); int mnemIndex = -1; if (JTattooUtilities.getJavaVersion() >= 1.4) { mnemIndex = b.getDisplayedMnemonicIndex(); } else { mnemIndex = JTattooUtilities.findDisplayedMnemonicIndex(b.getText(), model.getMnemonic()); } Font f = c.getFont(); g.setFont(f); FontMetrics fm = g.getFontMetrics(); if (model.isEnabled()) { Color fc = b.getForeground(); if (AbstractLookAndFeel.getTheme().isTextShadowOn() && ColorHelper.getGrayValue(fc) > 128) { g.setColor(Color.black); JTattooUtilities.drawStringUnderlineCharAt( c, g, text, mnemIndex, textRect.x + 1, textRect.y + 1 + fm.getAscent()); } g.setColor(fc); JTattooUtilities.drawStringUnderlineCharAt( c, g, text, mnemIndex, textRect.x, textRect.y + fm.getAscent()); } else { g.setColor(Color.black); JTattooUtilities.drawStringUnderlineCharAt( c, g, text, mnemIndex, textRect.x + 1, textRect.y + 1 + fm.getAscent()); g.setColor(AbstractLookAndFeel.getDisabledForegroundColor()); JTattooUtilities.drawStringUnderlineCharAt( c, g, text, mnemIndex, textRect.x, textRect.y + fm.getAscent()); } } }
protected void initComponentDefaults(UIDefaults table) { super.initComponentDefaults(table); BaseBorders.initDefaults(); BaseIcons.initDefaults(); Object textFieldBorder = getBorderFactory().getTextFieldBorder(); Object comboBoxBorder = getBorderFactory().getComboBoxBorder(); Object scrollPaneBorder = getBorderFactory().getScrollPaneBorder(); Object tableScrollPaneBorder = getBorderFactory().getTableScrollPaneBorder(); Object tabbedPaneBorder = getBorderFactory().getTabbedPaneBorder(); Object buttonBorder = getBorderFactory().getButtonBorder(); Object toggleButtonBorder = getBorderFactory().getToggleButtonBorder(); Object titledBorderBorder = new UIDefaults.ProxyLazyValue( "javax.swing.plaf.BorderUIResource$LineBorderUIResource", new Object[] {getFrameColor()}); Object menuBarBorder = getBorderFactory().getMenuBarBorder(); Object popupMenuBorder = getBorderFactory().getPopupMenuBorder(); Object menuItemBorder = getBorderFactory().getMenuItemBorder(); Object toolBarBorder = getBorderFactory().getToolBarBorder(); Object progressBarBorder = getBorderFactory().getProgressBarBorder(); Object toolTipBorder = new UIDefaults.ProxyLazyValue( "javax.swing.plaf.BorderUIResource$LineBorderUIResource", new Object[] {getFrameColor()}); Object focusCellHighlightBorder = new UIDefaults.ProxyLazyValue( "javax.swing.plaf.BorderUIResource$LineBorderUIResource", new Object[] {getFocusCellColor()}); Object optionPaneBorder = BorderFactory.createEmptyBorder(0, 0, 0, 0); Object optionPaneMessageAreaBorder = BorderFactory.createEmptyBorder(8, 8, 8, 8); Object optionPaneButtonAreaBorder = BorderFactory.createEmptyBorder(0, 8, 8, 8); Object windowBorder = getBorderFactory().getInternalFrameBorder(); Color c = getBackgroundColor(); ColorUIResource progressBarBackground = new ColorUIResource(ColorHelper.brighter(c, 20)); // DEFAULTS TABLE Object[] defaults = { "controlTextFont", getControlTextFont(), "systemTextFont ", getSystemTextFont(), "userTextFont", getUserTextFont(), "menuTextFont", getMenuTextFont(), "windowTitleFont", getWindowTitleFont(), "subTextFont", getSubTextFont(), "Label.font", getUserTextFont(), "Label.background", getBackgroundColor(), "Label.foreground", getForegroundColor(), "Label.disabledText", getDisabledForegroundColor(), "Label.disabledShadow", getWhite(), // Text (Note: many are inherited) "TextField.border", textFieldBorder, "TextField.foreground", getInputForegroundColor(), "TextField.background", getInputBackgroundColor(), "TextField.disabledForeground", getDisabledForegroundColor(), "TextField.disabledBackground", getDisabledBackgroundColor(), "TextField.inactiveForeground", getDisabledForegroundColor(), "TextField.inactiveBackground", getDisabledBackgroundColor(), "TextArea.foreground", getInputForegroundColor(), "TextArea.background", getInputBackgroundColor(), "TextArea.disabledForeground", getDisabledForegroundColor(), "TextArea.disabledBackground", getDisabledBackgroundColor(), "TextArea.inactiveForeground", getDisabledForegroundColor(), "TextArea.inactiveBackground", getDisabledBackgroundColor(), "EditorPane.foreground", getInputForegroundColor(), "EditorPane.background", getInputBackgroundColor(), "EditorPane.disabledForeground", getDisabledForegroundColor(), "EditorPane.disabledBackground", getDisabledBackgroundColor(), "EditorPane.inactiveForeground", getDisabledForegroundColor(), "EditorPane.inactiveBackground", getDisabledBackgroundColor(), "FormattedTextField.border", textFieldBorder, "FormattedTextField.foreground", getInputForegroundColor(), "FormattedTextField.background", getInputBackgroundColor(), "FormattedTextField.disabledForeground", getDisabledForegroundColor(), "FormattedTextField.disabledBackground", getDisabledBackgroundColor(), "FormattedTextField.inactiveForeground", getDisabledForegroundColor(), "FormattedTextField.inactiveBackground", getDisabledBackgroundColor(), "PasswordField.border", textFieldBorder, "PasswordField.foreground", getInputForegroundColor(), "PasswordField.background", getInputBackgroundColor(), "PasswordField.disabledForeground", getDisabledForegroundColor(), "PasswordField.disabledBackground", getDisabledBackgroundColor(), "PasswordField.inactiveForeground", getDisabledForegroundColor(), "PasswordField.inactiveBackground", getDisabledBackgroundColor(), // Buttons "Button.background", getButtonBackgroundColor(), "Button.foreground", getButtonForegroundColor(), "Button.disabledText", getDisabledForegroundColor(), "Button.disabledShadow", getWhite(), "Button.select", getSelectionBackgroundColor(), "Button.border", buttonBorder, "Button.frame", getFrameColor(), "Button.focus", getFocusColor(), "Button.rolloverColor", getTheme().getRolloverColor(), "CheckBox.font", getUserTextFont(), "CheckBox.background", getBackgroundColor(), "CheckBox.foreground", getForegroundColor(), "CheckBox.disabledText", getDisabledForegroundColor(), "CheckBox.disabledShadow", getWhite(), "Checkbox.select", getSelectionBackgroundColor(), "CheckBox.focus", getFocusColor(), "CheckBox.icon", getIconFactory().getCheckBoxIcon(), "RadioButton.font", getUserTextFont(), "RadioButton.background", getBackgroundColor(), "RadioButton.foreground", getForegroundColor(), "RadioButton.disabledText", getDisabledForegroundColor(), "RadioButton.disabledShadow", getWhite(), "RadioButton.select", getSelectionBackgroundColor(), "RadioButton.icon", getIconFactory().getRadioButtonIcon(), "RadioButton.focus", getFocusColor(), "ToggleButton.background", getButtonBackgroundColor(), "ToggleButton.foreground", getButtonForegroundColor(), "ToggleButton.select", getSelectionBackgroundColor(), "ToggleButton.text", getButtonForegroundColor(), "ToggleButton.disabledText", getDisabledForegroundColor(), "ToggleButton.disabledShadow", getWhite(), "ToggleButton.disabledSelectedText", getDisabledForegroundColor(), "ToggleButton.disabledBackground", getButtonBackgroundColor(), "ToggleButton.disabledSelectedBackground", getSelectionBackgroundColor(), "ToggleButton.focus", getFocusColor(), "ToggleButton.border", toggleButtonBorder, // ToolTip "ToolTip.border", toolTipBorder, "ToolTip.foreground", getTooltipForegroundColor(), "ToolTip.background", getTooltipBackgroundColor(), // Slider "Slider.border", null, "Slider.foreground", getFrameColor(), "Slider.background", getBackgroundColor(), "Slider.focus", getFocusColor(), "Slider.focusInsets", new InsetsUIResource(0, 0, 0, 0), "Slider.trackWidth", new Integer(7), "Slider.majorTickLength", new Integer(6), // Progress Bar "ProgressBar.border", progressBarBorder, "ProgressBar.background", progressBarBackground, "ProgressBar.selectionForeground", getSelectionForegroundColor(), "ProgressBar.selectionBackground", getForegroundColor(), // Combo Box "ComboBox.border", comboBoxBorder, "ComboBox.background", getInputBackgroundColor(), "ComboBox.foreground", getInputForegroundColor(), "ComboBox.selectionBackground", getSelectionBackgroundColor(), "ComboBox.selectionForeground", getSelectionForegroundColor(), "ComboBox.selectionBorderColor", getFocusColor(), "ComboBox.disabledBackground", getDisabledBackgroundColor(), "ComboBox.disabledForeground", getDisabledForegroundColor(), "ComboBox.listBackground", getInputBackgroundColor(), "ComboBox.listForeground", getInputForegroundColor(), "ComboBox.font", getUserTextFont(), // Panel "Panel.foreground", getForegroundColor(), "Panel.background", getBackgroundColor(), "Panel.darkBackground", getTheme().getBackgroundColorDark(), "Panel.lightBackground", getTheme().getBackgroundColorLight(), "Panel.alterBackground", getTheme().getAlterBackgroundColor(), "Panel.font", getUserTextFont(), // RootPane "RootPane.frameBorder", windowBorder, "RootPane.plainDialogBorder", windowBorder, "RootPane.informationDialogBorder", windowBorder, "RootPane.errorDialogBorder", windowBorder, "RootPane.colorChooserDialogBorder", windowBorder, "RootPane.fileChooserDialogBorder", windowBorder, "RootPane.questionDialogBorder", windowBorder, "RootPane.warningDialogBorder", windowBorder, // InternalFrame "InternalFrame.border", getBorderFactory().getInternalFrameBorder(), "InternalFrame.font", getWindowTitleFont(), "InternalFrame.paletteBorder", getBorderFactory().getPaletteBorder(), "InternalFrame.paletteTitleHeight", new Integer(11), "InternalFrame.paletteCloseIcon", getIconFactory().getPaletteCloseIcon(), "InternalFrame.icon", getIconFactory().getMenuIcon(), "InternalFrame.iconifyIcon", getIconFactory().getIconIcon(), "InternalFrame.maximizeIcon", getIconFactory().getMaxIcon(), "InternalFrame.minimizeIcon", getIconFactory().getMinIcon(), "InternalFrame.closeIcon", getIconFactory().getCloseIcon(), // Titled Border "TitledBorder.titleColor", getForegroundColor(), "TitledBorder.border", titledBorderBorder, // List "List.focusCellHighlightBorder", focusCellHighlightBorder, "List.font", getUserTextFont(), "List.foreground", getInputForegroundColor(), "List.background", getInputBackgroundColor(), "List.selectionForeground", getSelectionForegroundColor(), "List.selectionBackground", getSelectionBackgroundColor(), "List.disabledForeground", getDisabledForegroundColor(), "List.disabledBackground", getDisabledBackgroundColor(), // ScrollBar "ScrollBar.background", getControlBackgroundColor(), "ScrollBar.highlight", getControlHighlightColor(), "ScrollBar.shadow", getControlShadowColor(), "ScrollBar.darkShadow", getControlDarkShadowColor(), "ScrollBar.thumb", getControlBackgroundColor(), "ScrollBar.thumbShadow", getControlShadowColor(), "ScrollBar.thumbHighlight", getControlHighlightColor(), "ScrollBar.width", new Integer(17), "ScrollBar.allowsAbsolutePositioning", Boolean.TRUE, // ScrollPane "ScrollPane.border", scrollPaneBorder, "ScrollPane.foreground", getForegroundColor(), "ScrollPane.background", getBackgroundColor(), // Viewport "Viewport.foreground", getForegroundColor(), "Viewport.background", getBackgroundColor(), "Viewport.font", getUserTextFont(), // Tabbed Pane "TabbedPane.boder", tabbedPaneBorder, "TabbedPane.background", getBackgroundColor(), "TabbedPane.tabAreaBackground", getTabAreaBackgroundColor(), "TabbedPane.unselectedBackground", getControlColorDark(), "TabbedPane.foreground", getControlForegroundColor(), "TabbedPane.selected", getBackgroundColor(), "TabbedPane.selectedForeground", getTabSelectionForegroundColor(), "TabbedPane.tabAreaInsets", new InsetsUIResource(5, 5, 5, 5), "TabbedPane.contentBorderInsets", new InsetsUIResource(0, 0, 0, 0), "TabbedPane.tabInsets", new InsetsUIResource(1, 6, 1, 6), "TabbedPane.focus", getFocusColor(), // TabbedPane ScrollButton "TabbedPane.selected", getButtonBackgroundColor(), "TabbedPane.shadow", new ColorUIResource(180, 180, 180), "TabbedPane.darkShadow", new ColorUIResource(120, 120, 120), "TabbedPane.highlight", new ColorUIResource(Color.white), // Tab Colors in Netbeans "tab_unsel_fill", getControlBackgroundColor(), "tab_sel_fill", getControlBackgroundColor(), // Table "Table.focusCellHighlightBorder", focusCellHighlightBorder, "Table.scrollPaneBorder", tableScrollPaneBorder, "Table.foreground", getInputForegroundColor(), "Table.background", getInputBackgroundColor(), "Table.gridColor", getGridColor(), "TableHeader.foreground", getControlForegroundColor(), "TableHeader.background", getBackgroundColor(), "TableHeader.cellBorder", getBorderFactory().getTableHeaderBorder(), // MenuBar "MenuBar.border", menuBarBorder, "MenuBar.foreground", getMenuForegroundColor(), "MenuBar.background", getMenuBackgroundColor(), // Menu "Menu.border", menuItemBorder, "Menu.borderPainted", Boolean.TRUE, "Menu.foreground", getMenuForegroundColor(), "Menu.background", getMenuBackgroundColor(), "Menu.selectionForeground", getMenuSelectionForegroundColor(), "Menu.selectionBackground", getMenuSelectionBackgroundColor(), "Menu.disabledForeground", getDisabledForegroundColor(), "Menu.acceleratorForeground", getMenuForegroundColor(), "Menu.acceleratorSelectionForeground", getMenuSelectionForegroundColor(), "Menu.arrowIcon", getIconFactory().getMenuArrowIcon(), // Popup Menu "PopupMenu.background", getMenuBackgroundColor(), "PopupMenu.border", popupMenuBorder, // Menu Item "MenuItem.border", menuItemBorder, "MenuItem.borderPainted", Boolean.TRUE, "MenuItem.foreground", getMenuForegroundColor(), "MenuItem.background", getMenuBackgroundColor(), "MenuItem.selectionForeground", getMenuSelectionForegroundColor(), "MenuItem.selectionBackground", getMenuSelectionBackgroundColor(), "MenuItem.disabledForeground", getDisabledForegroundColor(), "MenuItem.disabledShadow", getWhite(), "MenuItem.acceleratorForeground", getMenuForegroundColor(), "MenuItem.acceleratorSelectionForeground", getMenuSelectionForegroundColor(), "CheckBoxMenuItem.border", menuItemBorder, "CheckBoxMenuItem.borderPainted", Boolean.TRUE, "CheckBoxMenuItem.foreground", getMenuForegroundColor(), "CheckBoxMenuItem.background", getMenuBackgroundColor(), "CheckBoxMenuItem.selectionForeground", getMenuSelectionForegroundColor(), "CheckBoxMenuItem.selectionBackground", getMenuSelectionBackgroundColor(), "CheckBoxMenuItem.disabledForeground", getDisabledForegroundColor(), "CheckBoxMenuItem.disabledShadow", getWhite(), "CheckBoxMenuItem.acceleratorForeground", getMenuForegroundColor(), "CheckBoxMenuItem.acceleratorSelectionForeground", getMenuSelectionForegroundColor(), "CheckBoxMenuItem.checkIcon", getIconFactory().getMenuCheckBoxIcon(), "RadioButtonMenuItem.border", menuItemBorder, "RadioButtonMenuItem.borderPainted", Boolean.TRUE, "RadioButtonMenuItem.foreground", getMenuForegroundColor(), "RadioButtonMenuItem.background", getMenuBackgroundColor(), "RadioButtonMenuItem.selectionForeground", getMenuSelectionForegroundColor(), "RadioButtonMenuItem.selectionBackground", getMenuSelectionBackgroundColor(), "RadioButtonMenuItem.disabledForeground", getDisabledForegroundColor(), "RadioButtonMenuItem.disabledShadow", getWhite(), "RadioButtonMenuItem.acceleratorForeground", getMenuForegroundColor(), "RadioButtonMenuItem.acceleratorSelectionForeground", getMenuSelectionForegroundColor(), "RadioButtonMenuItem.checkIcon", getIconFactory().getMenuRadioButtonIcon(), // OptionPane. "OptionPane.errorIcon", getIconFactory().getOptionPaneErrorIcon(), "OptionPane.informationIcon", getIconFactory().getOptionPaneInformationIcon(), "OptionPane.warningIcon", getIconFactory().getOptionPaneWarningIcon(), "OptionPane.questionIcon", getIconFactory().getOptionPaneQuestionIcon(), "OptionPane.border", optionPaneBorder, "OptionPane.messageAreaBorder", optionPaneMessageAreaBorder, "OptionPane.buttonAreaBorder", optionPaneButtonAreaBorder, // File View "FileView.directoryIcon", getIconFactory().getTreeFolderIcon(), "FileView.fileIcon", getIconFactory().getTreeLeafIcon(), "FileView.computerIcon", getIconFactory().getTreeComputerIcon(), "FileView.hardDriveIcon", getIconFactory().getTreeHardDriveIcon(), "FileView.floppyDriveIcon", getIconFactory().getTreeFloppyDriveIcon(), // File Chooser "FileChooser.detailsViewIcon", getIconFactory().getFileChooserDetailViewIcon(), "FileChooser.homeFolderIcon", getIconFactory().getFileChooserHomeFolderIcon(), "FileChooser.listViewIcon", getIconFactory().getFileChooserListViewIcon(), "FileChooser.newFolderIcon", getIconFactory().getFileChooserNewFolderIcon(), "FileChooser.upFolderIcon", getIconFactory().getFileChooserUpFolderIcon(), // Separator "Separator.background", getBackgroundColor(), "Separator.foreground", getControlForegroundColor(), // SplitPane "SplitPane.centerOneTouchButtons", Boolean.TRUE, "SplitPane.dividerSize", new Integer(7), "SplitPane.border", BorderFactory.createEmptyBorder(), // Tree "Tree.background", getInputBackgroundColor(), "Tree.foreground", getInputForegroundColor(), "Tree.textForeground", getInputForegroundColor(), "Tree.textBackground", getInputBackgroundColor(), "Tree.openIcon", getIconFactory().getTreeFolderIcon(), "Tree.closedIcon", getIconFactory().getTreeFolderIcon(), "Tree.leafIcon", getIconFactory().getTreeLeafIcon(), "Tree.expandedIcon", getIconFactory().getTreeExpandedIcon(), "Tree.collapsedIcon", getIconFactory().getTreeCollapsedIcon(), "Tree.selectionBorderColor", getFocusCellColor(), "Tree.line", getFrameColor(), // horiz lines "Tree.hash", getFrameColor(), // legs // ToolBar "JToolBar.isRollover", Boolean.TRUE, "ToolBar.border", toolBarBorder, "ToolBar.background", getToolbarBackgroundColor(), "ToolBar.foreground", getToolbarForegroundColor(), "ToolBar.dockingBackground", getToolbarBackgroundColor(), "ToolBar.dockingForeground", getToolbarDockingColor(), "ToolBar.floatingBackground", getToolbarBackgroundColor(), "ToolBar.floatingForeground", getToolbarForegroundColor(), }; table.putDefaults(defaults); if (JTattooUtilities.getJavaVersion() >= 1.5) { table.put("Spinner.font", getControlTextFont()); table.put("Spinner.background", getButtonBackgroundColor()); table.put("Spinner.foreground", getButtonForegroundColor()); table.put("Spinner.border", getBorderFactory().getSpinnerBorder()); table.put("Spinner.arrowButtonInsets", null); table.put("Spinner.arrowButtonBorder", BorderFactory.createEmptyBorder()); table.put("Spinner.editorBorderPainted", Boolean.FALSE); } }
public void paintIcon(Component c, Graphics g, int x, int y) { if (!JTattooUtilities.isLeftToRight(c)) { x += GAP; } int w = getIconWidth() - GAP; int h = getIconHeight(); Graphics2D g2D = (Graphics2D) g; AbstractButton button = (AbstractButton) c; ButtonModel model = button.getModel(); Color colors[]; if (button.isEnabled()) { if ((button.isRolloverEnabled() && model.isRollover()) || (model.isPressed() && model.isArmed())) { colors = AbstractLookAndFeel.getTheme().getRolloverColors(); } else { if (AbstractLookAndFeel.getTheme().doShowFocusFrame() && button.hasFocus()) { colors = AbstractLookAndFeel.getTheme().getFocusColors(); } else { colors = AbstractLookAndFeel.getTheme().getCheckBoxColors(); } } } else { colors = AbstractLookAndFeel.getTheme().getDisabledColors(); } Color frameColor = ColorHelper.brighter(AbstractLookAndFeel.getTheme().getButtonBackgroundColor(), 6); Shape savedClip = g.getClip(); Area clipArea = new Area(new Ellipse2D.Double(x, y, w + 1, h + 1)); if (savedClip != null) { clipArea.intersect(new Area(savedClip)); } g2D.setClip(clipArea); JTattooUtilities.fillHorGradient(g, colors, x, y, w, h); g2D.setClip(savedClip); Object savedRederingHint = g2D.getRenderingHint(RenderingHints.KEY_ANTIALIASING); g2D.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g.setColor(frameColor); g.drawOval(x, y, w, h); if (model.isSelected()) { if (model.isEnabled()) { Color fc = AbstractLookAndFeel.getForegroundColor(); if (ColorHelper.getGrayValue(colors[0]) < 128) { if (ColorHelper.getGrayValue(fc) < 128) { g2D.setColor(Color.white); } else { g2D.setColor(fc); } } else { if (ColorHelper.getGrayValue(fc) > 128) { g2D.setColor(Color.black); } else { g2D.setColor(fc); } } } else { g.setColor(AbstractLookAndFeel.getDisabledForegroundColor()); } if (AbstractLookAndFeel.getTheme().isSmallFontSize()) { g2D.fillOval(x + 4, y + 4, w - 7, h - 7); } else if (AbstractLookAndFeel.getTheme().isMediumFontSize()) { g2D.fillOval(x + 4, y + 4, w - 7, h - 7); } else { g2D.fillOval(x + 5, y + 5, w - 9, h - 9); } } g2D.setRenderingHint(RenderingHints.KEY_ANTIALIASING, savedRederingHint); }
public void paintBorder(Component c, Graphics g, int x, int y, int w, int h) { Graphics2D g2D = (Graphics2D) g; Composite savedComposite = g2D.getComposite(); AlphaComposite alpha = AlphaComposite.getInstance( AlphaComposite.SRC_OVER, AbstractLookAndFeel.getTheme().getMenuAlpha()); g2D.setComposite(alpha); Color logoColor = AbstractLookAndFeel.getTheme().getMenuSelectionBackgroundColor(); Color borderColorLo = AbstractLookAndFeel.getFrameColor(); Color borderColorHi = ColorHelper.brighter(AbstractLookAndFeel.getMenuSelectionBackgroundColor(), 40); g.setColor(logoColor); if (JTattooUtilities.isLeftToRight(c)) { int dx = getBorderInsets(c).left; g.fillRect(x, y, dx - 1, h - 1 - shadowSize); paintLogo(c, g, x, y, w, h); // - highlight g.setColor(ColorHelper.brighter(AbstractLookAndFeel.getMenuBackgroundColor(), 40)); g.drawLine(x + dx, y + 1, x + w - shadowSize - 2, y + 1); g.setColor(borderColorHi); g.drawLine(x + 1, y, x + 1, y + h - shadowSize - 2); // - outer frame g.setColor(borderColorLo); if (isMenuBarPopup(c)) { // top g.drawLine(x + dx - 1, y, x + w - shadowSize - 1, y); // left g.drawLine(x, y, x, y + h - shadowSize - 1); // bottom g.drawLine(x, y + h - shadowSize - 1, x + w - shadowSize - 1, y + h - shadowSize - 1); // right g.drawLine(x + w - shadowSize - 1, y + 1, x + w - shadowSize - 1, y + h - shadowSize - 1); } else { g.drawRect(x, y, w - shadowSize - 1, h - shadowSize - 1); } // - logo separator g.drawLine(x + dx - 1, y + 1, x + dx - 1, y + h - shadowSize - 1); } else { int dx = getBorderInsets(c).right - shadowSize; g.fillRect(x + w - dx - shadowSize, y, dx - 1, h - 1 - shadowSize); paintLogo(c, g, x, y, w, h); // - highlight g.setColor(ColorHelper.brighter(AbstractLookAndFeel.getMenuBackgroundColor(), 40)); g.drawLine(x + 1, y + 1, x + w - dx - shadowSize - 1, y + 1); g.drawLine(x + 1, y + 1, x + 1, y + h - shadowSize - 2); // - outer frame g.setColor(borderColorLo); if (isMenuBarPopup(c)) { // top g.drawLine(x, y, x + w - dx - shadowSize, y); // left g.drawLine(x, y, x, y + h - shadowSize - 1); // bottom g.drawLine(x, y + h - shadowSize - 1, x + w - shadowSize - 1, y + h - shadowSize - 1); // right g.drawLine(x + w - shadowSize - 1, y, x + w - shadowSize - 1, y + h - shadowSize - 1); } else { g.drawRect(x, y, w - shadowSize - 1, h - shadowSize - 1); } // - logo separator g.drawLine(x + w - dx - shadowSize, y + 1, x + w - dx - shadowSize, y + h - shadowSize - 1); } // paint the shadow g2D.setColor(AbstractLookAndFeel.getTheme().getShadowColor()); float alphaValue = 0.4f; for (int i = 0; i < shadowSize; i++) { alpha = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, alphaValue); g2D.setComposite(alpha); g.drawLine( x + w - shadowSize + i, y + shadowSize, x + w - shadowSize + i, y + h - shadowSize - 1 + i); g.drawLine( x + shadowSize, y + h - shadowSize + i, x + w - shadowSize + i, y + h - shadowSize + i); alphaValue -= (alphaValue / 2); } g2D.setComposite(savedComposite); }
public void paintBorder(Component c, Graphics g, int x, int y, int w, int h) { Color frameColor = AbstractLookAndFeel.getTheme().getBackgroundColor(); JTattooUtilities.draw3DBorder( g, ColorHelper.darker(frameColor, 20), ColorHelper.brighter(frameColor, 80), x, y, w, h); }