Java Code Examples for javax.swing.text.View#paint()
The following examples show how to use
javax.swing.text.View#paint() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: SynthTabbedPaneUI.java From TencentKona-8 with GNU General Public License v2.0 | 6 votes |
private void paintText(SynthContext ss, Graphics g, int tabPlacement, Font font, FontMetrics metrics, int tabIndex, String title, Rectangle textRect, boolean isSelected) { g.setFont(font); View v = getTextViewForTab(tabIndex); if (v != null) { // html v.paint(g, textRect); } else { // plain text int mnemIndex = tabPane.getDisplayedMnemonicIndexAt(tabIndex); g.setColor(ss.getStyle().getColor(ss, ColorType.TEXT_FOREGROUND)); ss.getStyle().getGraphicsUtils(ss).paintText(ss, g, title, textRect, mnemIndex); } }
Example 2
Source File: AquaTabbedPaneContrastUI.java From openjdk-jdk8u-backup with GNU General Public License v2.0 | 6 votes |
protected void paintTitle(final Graphics2D g2d, final Font font, final FontMetrics metrics, final Rectangle textRect, final int tabIndex, final String title) { final View v = getTextViewForTab(tabIndex); if (v != null) { v.paint(g2d, textRect); return; } if (title == null) return; final Color color = tabPane.getForegroundAt(tabIndex); if (color instanceof UIResource) { g2d.setColor(getNonSelectedTabTitleColor()); if (tabPane.getSelectedIndex() == tabIndex) { boolean pressed = isPressedAt(tabIndex); boolean enabled = tabPane.isEnabled() && tabPane.isEnabledAt(tabIndex); Color textColor = getSelectedTabTitleColor(enabled, pressed); Color shadowColor = getSelectedTabTitleShadowColor(enabled); AquaUtils.paintDropShadowText(g2d, tabPane, font, metrics, textRect.x, textRect.y, 0, 1, textColor, shadowColor, title); return; } } else { g2d.setColor(color); } g2d.setFont(font); SwingUtilities2.drawString(tabPane, g2d, title, textRect.x, textRect.y + metrics.getAscent()); }
Example 3
Source File: SynthToolTipUI.java From openjdk-jdk8u-backup with GNU General Public License v2.0 | 6 votes |
/** * Paints the specified component. * * @param context context for the component being painted * @param g the {@code Graphics} object used for painting * @see #update(Graphics,JComponent) */ protected void paint(SynthContext context, Graphics g) { JToolTip tip = (JToolTip)context.getComponent(); Insets insets = tip.getInsets(); View v = (View)tip.getClientProperty(BasicHTML.propertyKey); if (v != null) { Rectangle paintTextR = new Rectangle(insets.left, insets.top, tip.getWidth() - (insets.left + insets.right), tip.getHeight() - (insets.top + insets.bottom)); v.paint(g, paintTextR); } else { g.setColor(context.getStyle().getColor(context, ColorType.TEXT_FOREGROUND)); g.setFont(style.getFont(context)); context.getStyle().getGraphicsUtils(context).paintText( context, g, tip.getTipText(), insets.left, insets.top, -1); } }
Example 4
Source File: BasicLabelUI.java From JDKSourceCode1.8 with MIT License | 5 votes |
/** * Paints the label text with the foreground color, if the label is opaque * then paints the entire background with the background color. The Label * text is drawn by {@link #paintEnabledText} or {@link #paintDisabledText}. * The locations of the label parts are computed by {@link #layoutCL}. * * @see #paintEnabledText * @see #paintDisabledText * @see #layoutCL */ public void paint(Graphics g, JComponent c) { JLabel label = (JLabel)c; String text = label.getText(); Icon icon = (label.isEnabled()) ? label.getIcon() : label.getDisabledIcon(); if ((icon == null) && (text == null)) { return; } FontMetrics fm = SwingUtilities2.getFontMetrics(label, g); String clippedText = layout(label, fm, c.getWidth(), c.getHeight()); if (icon != null) { icon.paintIcon(c, g, paintIconR.x, paintIconR.y); } if (text != null) { View v = (View) c.getClientProperty(BasicHTML.propertyKey); if (v != null) { v.paint(g, paintTextR); } else { int textX = paintTextR.x; int textY = paintTextR.y + fm.getAscent(); if (label.isEnabled()) { paintEnabledText(label, g, clippedText, textX, textY); } else { paintDisabledText(label, g, clippedText, textX, textY); } } } }
Example 5
Source File: BasicLabelUI.java From openjdk-8 with GNU General Public License v2.0 | 5 votes |
/** * Paints the label text with the foreground color, if the label is opaque * then paints the entire background with the background color. The Label * text is drawn by {@link #paintEnabledText} or {@link #paintDisabledText}. * The locations of the label parts are computed by {@link #layoutCL}. * * @see #paintEnabledText * @see #paintDisabledText * @see #layoutCL */ public void paint(Graphics g, JComponent c) { JLabel label = (JLabel)c; String text = label.getText(); Icon icon = (label.isEnabled()) ? label.getIcon() : label.getDisabledIcon(); if ((icon == null) && (text == null)) { return; } FontMetrics fm = SwingUtilities2.getFontMetrics(label, g); String clippedText = layout(label, fm, c.getWidth(), c.getHeight()); if (icon != null) { icon.paintIcon(c, g, paintIconR.x, paintIconR.y); } if (text != null) { View v = (View) c.getClientProperty(BasicHTML.propertyKey); if (v != null) { v.paint(g, paintTextR); } else { int textX = paintTextR.x; int textY = paintTextR.y + fm.getAscent(); if (label.isEnabled()) { paintEnabledText(label, g, clippedText, textX, textY); } else { paintDisabledText(label, g, clippedText, textX, textY); } } } }
Example 6
Source File: MainPanel.java From java-swing-tips with MIT License | 5 votes |
@Override public void paint(Graphics g, JComponent c) { if (!(c instanceof AbstractButton)) { return; } AbstractButton b = (AbstractButton) c; Font f = b.getFont(); g.setFont(f); // Insets i = c.getInsets(); // b.getSize(size); // viewRect.setBounds(i.left, i.top, size.width - i.left - i.right, size.height - i.top - i.bottom); SwingUtilities.calculateInnerArea(c, viewRect); iconRect.setBounds(0, 0, 0, 0); textRect.setBounds(0, 0, 0, 0); String text = SwingUtilities.layoutCompoundLabel( c, c.getFontMetrics(f), b.getText(), null, // altIcon != null ? altIcon : getDefaultIcon(), b.getVerticalAlignment(), b.getHorizontalAlignment(), b.getVerticalTextPosition(), b.getHorizontalTextPosition(), viewRect, iconRect, textRect, 0); // b.getText() == null ? 0 : b.getIconTextGap()); if (c.isOpaque()) { g.setColor(b.getBackground()); g.fillRect(0, 0, c.getWidth(), c.getHeight()); } ButtonModel model = b.getModel(); if (!model.isSelected() && !model.isPressed() && !model.isArmed() && b.isRolloverEnabled() && model.isRollover()) { g.setColor(Color.BLUE); g.drawLine(viewRect.x, viewRect.y + viewRect.height, viewRect.x + viewRect.width, viewRect.y + viewRect.height); } View v = (View) c.getClientProperty(BasicHTML.propertyKey); if (Objects.nonNull(v)) { v.paint(g, textRect); } else { paintText(g, b, textRect, text); } }
Example 7
Source File: AquaTabbedPaneCopyFromBasicUI.java From jdk8u-dev-jdk with GNU General Public License v2.0 | 5 votes |
protected void paintText(final Graphics g, final int tabPlacement, final Font font, final FontMetrics metrics, final int tabIndex, final String title, final Rectangle textRect, final boolean isSelected) { g.setFont(font); final View v = getTextViewForTab(tabIndex); if (v != null) { // html v.paint(g, textRect); } else { // plain text final int mnemIndex = tabPane.getDisplayedMnemonicIndexAt(tabIndex); if (tabPane.isEnabled() && tabPane.isEnabledAt(tabIndex)) { Color fg = tabPane.getForegroundAt(tabIndex); if (isSelected && (fg instanceof UIResource)) { final Color selectedFG = UIManager.getColor("TabbedPane.selectedForeground"); if (selectedFG != null) { fg = selectedFG; } } g.setColor(fg); SwingUtilities2.drawStringUnderlineCharAt(tabPane, g, title, mnemIndex, textRect.x, textRect.y + metrics.getAscent()); } else { // tab disabled g.setColor(tabPane.getBackgroundAt(tabIndex).brighter()); SwingUtilities2.drawStringUnderlineCharAt(tabPane, g, title, mnemIndex, textRect.x, textRect.y + metrics.getAscent()); g.setColor(tabPane.getBackgroundAt(tabIndex).darker()); SwingUtilities2.drawStringUnderlineCharAt(tabPane, g, title, mnemIndex, textRect.x - 1, textRect.y + metrics.getAscent() - 1); } } }
Example 8
Source File: BasicButtonUI.java From openjdk-jdk8u with GNU General Public License v2.0 | 5 votes |
public void paint(Graphics g, JComponent c) { AbstractButton b = (AbstractButton) c; ButtonModel model = b.getModel(); String text = layout(b, SwingUtilities2.getFontMetrics(b, g), b.getWidth(), b.getHeight()); clearTextShiftOffset(); // perform UI specific press action, e.g. Windows L&F shifts text if (model.isArmed() && model.isPressed()) { paintButtonPressed(g,b); } // Paint the Icon if(b.getIcon() != null) { paintIcon(g,c,iconRect); } if (text != null && !text.equals("")){ View v = (View) c.getClientProperty(BasicHTML.propertyKey); if (v != null) { v.paint(g, textRect); } else { paintText(g, b, textRect, text); } } if (b.isFocusPainted() && b.hasFocus()) { // paint UI specific focus paintFocus(g,b,viewRect,textRect,iconRect); } }
Example 9
Source File: AquaTabbedPaneCopyFromBasicUI.java From openjdk-jdk8u with GNU General Public License v2.0 | 5 votes |
protected void paintText(final Graphics g, final int tabPlacement, final Font font, final FontMetrics metrics, final int tabIndex, final String title, final Rectangle textRect, final boolean isSelected) { g.setFont(font); final View v = getTextViewForTab(tabIndex); if (v != null) { // html v.paint(g, textRect); } else { // plain text final int mnemIndex = tabPane.getDisplayedMnemonicIndexAt(tabIndex); if (tabPane.isEnabled() && tabPane.isEnabledAt(tabIndex)) { Color fg = tabPane.getForegroundAt(tabIndex); if (isSelected && (fg instanceof UIResource)) { final Color selectedFG = UIManager.getColor("TabbedPane.selectedForeground"); if (selectedFG != null) { fg = selectedFG; } } g.setColor(fg); SwingUtilities2.drawStringUnderlineCharAt(tabPane, g, title, mnemIndex, textRect.x, textRect.y + metrics.getAscent()); } else { // tab disabled g.setColor(tabPane.getBackgroundAt(tabIndex).brighter()); SwingUtilities2.drawStringUnderlineCharAt(tabPane, g, title, mnemIndex, textRect.x, textRect.y + metrics.getAscent()); g.setColor(tabPane.getBackgroundAt(tabIndex).darker()); SwingUtilities2.drawStringUnderlineCharAt(tabPane, g, title, mnemIndex, textRect.x - 1, textRect.y + metrics.getAscent() - 1); } } }
Example 10
Source File: BasicLabelUI.java From openjdk-jdk9 with GNU General Public License v2.0 | 5 votes |
/** * Paints the label text with the foreground color, if the label is opaque * then paints the entire background with the background color. The Label * text is drawn by {@link #paintEnabledText} or {@link #paintDisabledText}. * The locations of the label parts are computed by {@link #layoutCL}. * * @see #paintEnabledText * @see #paintDisabledText * @see #layoutCL */ public void paint(Graphics g, JComponent c) { JLabel label = (JLabel)c; String text = label.getText(); Icon icon = (label.isEnabled()) ? label.getIcon() : label.getDisabledIcon(); if ((icon == null) && (text == null)) { return; } FontMetrics fm = SwingUtilities2.getFontMetrics(label, g); String clippedText = layout(label, fm, c.getWidth(), c.getHeight()); if (icon != null) { icon.paintIcon(c, g, paintIconR.x, paintIconR.y); } if (text != null) { View v = (View) c.getClientProperty(BasicHTML.propertyKey); if (v != null) { v.paint(g, paintTextR); } else { int textX = paintTextR.x; int textY = paintTextR.y + fm.getAscent(); if (label.isEnabled()) { paintEnabledText(label, g, clippedText, textX, textY); } else { paintDisabledText(label, g, clippedText, textX, textY); } } } }
Example 11
Source File: MetalToolTipUI.java From TencentKona-8 with GNU General Public License v2.0 | 4 votes |
public void paint(Graphics g, JComponent c) { JToolTip tip = (JToolTip)c; Font font = c.getFont(); FontMetrics metrics = SwingUtilities2.getFontMetrics(c, g, font); Dimension size = c.getSize(); int accelBL; g.setColor(c.getForeground()); // fix for bug 4153892 String tipText = tip.getTipText(); if (tipText == null) { tipText = ""; } String accelString = getAcceleratorString(tip); FontMetrics accelMetrics = SwingUtilities2.getFontMetrics(c, g, smallFont); int accelSpacing = calcAccelSpacing(c, accelMetrics, accelString); Insets insets = tip.getInsets(); Rectangle paintTextR = new Rectangle( insets.left + 3, insets.top, size.width - (insets.left + insets.right) - 6 - accelSpacing, size.height - (insets.top + insets.bottom)); View v = (View) c.getClientProperty(BasicHTML.propertyKey); if (v != null) { v.paint(g, paintTextR); accelBL = BasicHTML.getHTMLBaseline(v, paintTextR.width, paintTextR.height); } else { g.setFont(font); SwingUtilities2.drawString(tip, g, tipText, paintTextR.x, paintTextR.y + metrics.getAscent()); accelBL = metrics.getAscent(); } if (!accelString.equals("")) { g.setFont(smallFont); g.setColor( MetalLookAndFeel.getPrimaryControlDarkShadow() ); SwingUtilities2.drawString(tip, g, accelString, tip.getWidth() - 1 - insets.right - accelSpacing + padSpaceBetweenStrings - 3, paintTextR.y + accelBL); } }
Example 12
Source File: MetalToolTipUI.java From jdk8u-jdk with GNU General Public License v2.0 | 4 votes |
public void paint(Graphics g, JComponent c) { JToolTip tip = (JToolTip)c; Font font = c.getFont(); FontMetrics metrics = SwingUtilities2.getFontMetrics(c, g, font); Dimension size = c.getSize(); int accelBL; g.setColor(c.getForeground()); // fix for bug 4153892 String tipText = tip.getTipText(); if (tipText == null) { tipText = ""; } String accelString = getAcceleratorString(tip); FontMetrics accelMetrics = SwingUtilities2.getFontMetrics(c, g, smallFont); int accelSpacing = calcAccelSpacing(c, accelMetrics, accelString); Insets insets = tip.getInsets(); Rectangle paintTextR = new Rectangle( insets.left + 3, insets.top, size.width - (insets.left + insets.right) - 6 - accelSpacing, size.height - (insets.top + insets.bottom)); View v = (View) c.getClientProperty(BasicHTML.propertyKey); if (v != null) { v.paint(g, paintTextR); accelBL = BasicHTML.getHTMLBaseline(v, paintTextR.width, paintTextR.height); } else { g.setFont(font); SwingUtilities2.drawString(tip, g, tipText, paintTextR.x, paintTextR.y + metrics.getAscent()); accelBL = metrics.getAscent(); } if (!accelString.equals("")) { g.setFont(smallFont); g.setColor( MetalLookAndFeel.getPrimaryControlDarkShadow() ); SwingUtilities2.drawString(tip, g, accelString, tip.getWidth() - 1 - insets.right - accelSpacing + padSpaceBetweenStrings - 3, paintTextR.y + accelBL); } }
Example 13
Source File: SubstanceRadioButtonUI.java From radiance with BSD 3-Clause "New" or "Revised" License | 4 votes |
@Override public void paint(Graphics g, JComponent c) { AbstractButton b = (AbstractButton) c; // boolean isOpaque = b.isOpaque(); // b.putClientProperty(SubstanceButtonUI.LOCK_OPACITY, Boolean.TRUE); // b.setOpaque(false); if (SubstanceCoreUtilities.isOpaque(c)) { BackgroundPaintingUtils.update(g, c, false); } // b.setOpaque(isOpaque); // b.putClientProperty(SubstanceButtonUI.LOCK_OPACITY, null); FontMetrics fm = g.getFontMetrics(); Insets i = b.getInsets(); viewRect.x = i.left; viewRect.y = i.top; viewRect.width = b.getWidth() - (i.right + viewRect.x); viewRect.height = b.getHeight() - (i.bottom + viewRect.y); textRect.x = textRect.y = textRect.width = textRect.height = 0; iconRect.x = iconRect.y = iconRect.width = iconRect.height = 0; Font f = b.getFont(); g.setFont(f); Icon icon = SubstanceCoreUtilities.getOriginalIcon(b, getDefaultIcon()); // layout the text and icon String text = SwingUtilities.layoutCompoundLabel(c, fm, b.getText(), icon, b.getVerticalAlignment(), b.getHorizontalAlignment(), b.getVerticalTextPosition(), b.getHorizontalTextPosition(), viewRect, iconRect, textRect, b.getText() == null ? 0 : b.getIconTextGap()); Graphics2D g2d = (Graphics2D) g.create(); if (text != null && !text.equals("")) { final View v = (View) b.getClientProperty(BasicHTML.propertyKey); if (v != null) { v.paint(g2d, textRect); } else { this.paintButtonText(g2d, b, textRect, text); } } // Paint the Icon if (icon != null) { g2d.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BICUBIC); icon.paintIcon(c, g2d, iconRect.x, iconRect.y); } if (b.isFocusPainted()) { // make sure that the focus ring is not clipped float focusRingPadding = SubstanceSizeUtils .getFocusRingPadding(SubstanceSizeUtils.getComponentFontSize(button)) / 2; SubstanceCoreUtilities.paintFocus(g2d, button, button, this, null, textRect, 1.0f, focusRingPadding); } // g2d.setColor(Color.red); // g2d.draw(iconRect); // g2d.draw(viewRect); // g2d.draw(textRect); // g2d.setColor(Color.blue); // g2d.drawRect(0, 0, button.getWidth() - 1, button.getHeight() - 1); g2d.dispose(); }
Example 14
Source File: HTMLPrintable.java From ramus with GNU General Public License v3.0 | 4 votes |
private void paintView(final Graphics2D graphics2D, final View view, final Shape allocation) { if (graphics2D != null) { view.paint(graphics2D, allocation); } }
Example 15
Source File: AquaButtonUI.java From jdk8u-dev-jdk with GNU General Public License v2.0 | 4 votes |
public void paint(final Graphics g, final JComponent c) { final AbstractButton b = (AbstractButton)c; final ButtonModel model = b.getModel(); final Insets i = c.getInsets(); Rectangle viewRect = new Rectangle(b.getWidth(), b.getHeight()); Rectangle iconRect = new Rectangle(); Rectangle textRect = new Rectangle(); // we are overdrawing here with translucent colors so we get // a darkening effect. How can we avoid it. Try clear rect? if (b.isOpaque()) { g.setColor(c.getBackground()); g.fillRect(viewRect.x, viewRect.y, viewRect.width, viewRect.height); } AquaButtonBorder aquaBorder = null; if (((AbstractButton)c).isBorderPainted()) { final Border border = c.getBorder(); if (border instanceof AquaButtonBorder) { // only do this if borders are on! // this also takes care of focus painting. aquaBorder = (AquaButtonBorder)border; aquaBorder.paintButton(c, g, viewRect.x, viewRect.y, viewRect.width, viewRect.height); } } else { if (b.isOpaque()) { viewRect.x = i.left - 2; viewRect.y = i.top - 2; viewRect.width = b.getWidth() - (i.right + viewRect.x) + 4; viewRect.height = b.getHeight() - (i.bottom + viewRect.y) + 4; if (b.isContentAreaFilled() || model.isSelected()) { if (model.isSelected()) // Toggle buttons g.setColor(c.getBackground().darker()); else g.setColor(c.getBackground()); g.fillRect(viewRect.x, viewRect.y, viewRect.width, viewRect.height); } } // needs focus to be painted // for now we don't know exactly what to do...we'll see! if (b.isFocusPainted() && b.hasFocus()) { // paint UI specific focus paintFocus(g, b, viewRect, textRect, iconRect); } } // performs icon and text rect calculations final String text = layoutAndGetText(g, b, aquaBorder, i, viewRect, iconRect, textRect); // Paint the Icon if (b.getIcon() != null) { paintIcon(g, b, iconRect); } if (textRect.width == 0) { textRect.width = 50; } if (text != null && !text.equals("")) { final View v = (View)c.getClientProperty(BasicHTML.propertyKey); if (v != null) { v.paint(g, textRect); } else { paintText(g, b, textRect, text); } } }
Example 16
Source File: BasicToggleButtonUI.java From TencentKona-8 with GNU General Public License v2.0 | 4 votes |
public void paint(Graphics g, JComponent c) { AbstractButton b = (AbstractButton) c; ButtonModel model = b.getModel(); Dimension size = b.getSize(); FontMetrics fm = g.getFontMetrics(); Insets i = c.getInsets(); Rectangle viewRect = new Rectangle(size); viewRect.x += i.left; viewRect.y += i.top; viewRect.width -= (i.right + viewRect.x); viewRect.height -= (i.bottom + viewRect.y); Rectangle iconRect = new Rectangle(); Rectangle textRect = new Rectangle(); Font f = c.getFont(); g.setFont(f); // layout the text and icon String text = SwingUtilities.layoutCompoundLabel( c, fm, b.getText(), b.getIcon(), b.getVerticalAlignment(), b.getHorizontalAlignment(), b.getVerticalTextPosition(), b.getHorizontalTextPosition(), viewRect, iconRect, textRect, b.getText() == null ? 0 : b.getIconTextGap()); g.setColor(b.getBackground()); if (model.isArmed() && model.isPressed() || model.isSelected()) { paintButtonPressed(g,b); } // Paint the Icon if(b.getIcon() != null) { paintIcon(g, b, iconRect); } // Draw the Text if(text != null && !text.equals("")) { View v = (View) c.getClientProperty(BasicHTML.propertyKey); if (v != null) { v.paint(g, textRect); } else { paintText(g, b, textRect, text); } } // draw the dashed focus line. if (b.isFocusPainted() && b.hasFocus()) { paintFocus(g, b, viewRect, textRect, iconRect); } }
Example 17
Source File: BasicRadioButtonUI.java From openjdk-jdk9 with GNU General Public License v2.0 | 4 votes |
/** * paint the radio button */ @Override public synchronized void paint(Graphics g, JComponent c) { AbstractButton b = (AbstractButton) c; ButtonModel model = b.getModel(); Font f = c.getFont(); g.setFont(f); FontMetrics fm = SwingUtilities2.getFontMetrics(c, g, f); Insets i = c.getInsets(); size = b.getSize(size); viewRect.x = i.left; viewRect.y = i.top; viewRect.width = size.width - (i.right + viewRect.x); viewRect.height = size.height - (i.bottom + viewRect.y); iconRect.x = iconRect.y = iconRect.width = iconRect.height = 0; textRect.x = textRect.y = textRect.width = textRect.height = 0; Icon altIcon = b.getIcon(); Icon selectedIcon = null; Icon disabledIcon = null; String text = SwingUtilities.layoutCompoundLabel( c, fm, b.getText(), altIcon != null ? altIcon : getDefaultIcon(), b.getVerticalAlignment(), b.getHorizontalAlignment(), b.getVerticalTextPosition(), b.getHorizontalTextPosition(), viewRect, iconRect, textRect, b.getText() == null ? 0 : b.getIconTextGap()); // fill background if(c.isOpaque()) { g.setColor(b.getBackground()); g.fillRect(0,0, size.width, size.height); } // Paint the radio button if(altIcon != null) { if(!model.isEnabled()) { if(model.isSelected()) { altIcon = b.getDisabledSelectedIcon(); } else { altIcon = b.getDisabledIcon(); } } else if(model.isPressed() && model.isArmed()) { altIcon = b.getPressedIcon(); if(altIcon == null) { // Use selected icon altIcon = b.getSelectedIcon(); } } else if(model.isSelected()) { if(b.isRolloverEnabled() && model.isRollover()) { altIcon = b.getRolloverSelectedIcon(); if (altIcon == null) { altIcon = b.getSelectedIcon(); } } else { altIcon = b.getSelectedIcon(); } } else if(b.isRolloverEnabled() && model.isRollover()) { altIcon = b.getRolloverIcon(); } if(altIcon == null) { altIcon = b.getIcon(); } altIcon.paintIcon(c, g, iconRect.x, iconRect.y); } else { getDefaultIcon().paintIcon(c, g, iconRect.x, iconRect.y); } // Draw the Text if(text != null) { View v = (View) c.getClientProperty(BasicHTML.propertyKey); if (v != null) { v.paint(g, textRect); } else { paintText(g, b, textRect, text); } if(b.hasFocus() && b.isFocusPainted() && textRect.width > 0 && textRect.height > 0 ) { paintFocus(g, textRect, size); } } }
Example 18
Source File: AquaButtonUI.java From TencentKona-8 with GNU General Public License v2.0 | 4 votes |
public void paint(final Graphics g, final JComponent c) { final AbstractButton b = (AbstractButton)c; final ButtonModel model = b.getModel(); final Insets i = c.getInsets(); Rectangle viewRect = new Rectangle(b.getWidth(), b.getHeight()); Rectangle iconRect = new Rectangle(); Rectangle textRect = new Rectangle(); // we are overdrawing here with translucent colors so we get // a darkening effect. How can we avoid it. Try clear rect? if (b.isOpaque()) { g.setColor(c.getBackground()); g.fillRect(viewRect.x, viewRect.y, viewRect.width, viewRect.height); } AquaButtonBorder aquaBorder = null; if (((AbstractButton)c).isBorderPainted()) { final Border border = c.getBorder(); if (border instanceof AquaButtonBorder) { // only do this if borders are on! // this also takes care of focus painting. aquaBorder = (AquaButtonBorder)border; aquaBorder.paintButton(c, g, viewRect.x, viewRect.y, viewRect.width, viewRect.height); } } else { if (b.isOpaque()) { viewRect.x = i.left - 2; viewRect.y = i.top - 2; viewRect.width = b.getWidth() - (i.right + viewRect.x) + 4; viewRect.height = b.getHeight() - (i.bottom + viewRect.y) + 4; if (b.isContentAreaFilled() || model.isSelected()) { if (model.isSelected()) // Toggle buttons g.setColor(c.getBackground().darker()); else g.setColor(c.getBackground()); g.fillRect(viewRect.x, viewRect.y, viewRect.width, viewRect.height); } } // needs focus to be painted // for now we don't know exactly what to do...we'll see! if (b.isFocusPainted() && b.hasFocus()) { // paint UI specific focus paintFocus(g, b, viewRect, textRect, iconRect); } } // performs icon and text rect calculations final String text = layoutAndGetText(g, b, aquaBorder, i, viewRect, iconRect, textRect); // Paint the Icon if (b.getIcon() != null) { paintIcon(g, b, iconRect); } if (textRect.width == 0) { textRect.width = 50; } if (text != null && !text.equals("")) { final View v = (View)c.getClientProperty(BasicHTML.propertyKey); if (v != null) { v.paint(g, textRect); } else { paintText(g, b, textRect, text); } } }
Example 19
Source File: BasicTabbedPaneUI.java From JDKSourceCode1.8 with MIT License | 4 votes |
protected void paintText(Graphics g, int tabPlacement, Font font, FontMetrics metrics, int tabIndex, String title, Rectangle textRect, boolean isSelected) { g.setFont(font); View v = getTextViewForTab(tabIndex); if (v != null) { // html v.paint(g, textRect); } else { // plain text int mnemIndex = tabPane.getDisplayedMnemonicIndexAt(tabIndex); if (tabPane.isEnabled() && tabPane.isEnabledAt(tabIndex)) { Color fg = tabPane.getForegroundAt(tabIndex); if (isSelected && (fg instanceof UIResource)) { Color selectedFG = UIManager.getColor( "TabbedPane.selectedForeground"); if (selectedFG != null) { fg = selectedFG; } } g.setColor(fg); SwingUtilities2.drawStringUnderlineCharAt(tabPane, g, title, mnemIndex, textRect.x, textRect.y + metrics.getAscent()); } else { // tab disabled g.setColor(tabPane.getBackgroundAt(tabIndex).brighter()); SwingUtilities2.drawStringUnderlineCharAt(tabPane, g, title, mnemIndex, textRect.x, textRect.y + metrics.getAscent()); g.setColor(tabPane.getBackgroundAt(tabIndex).darker()); SwingUtilities2.drawStringUnderlineCharAt(tabPane, g, title, mnemIndex, textRect.x - 1, textRect.y + metrics.getAscent() - 1); } } }
Example 20
Source File: AquaButtonUI.java From openjdk-8-source with GNU General Public License v2.0 | 4 votes |
public void paint(final Graphics g, final JComponent c) { final AbstractButton b = (AbstractButton)c; final ButtonModel model = b.getModel(); final Insets i = c.getInsets(); Rectangle viewRect = new Rectangle(b.getWidth(), b.getHeight()); Rectangle iconRect = new Rectangle(); Rectangle textRect = new Rectangle(); // we are overdrawing here with translucent colors so we get // a darkening effect. How can we avoid it. Try clear rect? if (b.isOpaque()) { g.setColor(c.getBackground()); g.fillRect(viewRect.x, viewRect.y, viewRect.width, viewRect.height); } AquaButtonBorder aquaBorder = null; if (((AbstractButton)c).isBorderPainted()) { final Border border = c.getBorder(); if (border instanceof AquaButtonBorder) { // only do this if borders are on! // this also takes care of focus painting. aquaBorder = (AquaButtonBorder)border; aquaBorder.paintButton(c, g, viewRect.x, viewRect.y, viewRect.width, viewRect.height); } } else { if (b.isOpaque()) { viewRect.x = i.left - 2; viewRect.y = i.top - 2; viewRect.width = b.getWidth() - (i.right + viewRect.x) + 4; viewRect.height = b.getHeight() - (i.bottom + viewRect.y) + 4; if (b.isContentAreaFilled() || model.isSelected()) { if (model.isSelected()) // Toggle buttons g.setColor(c.getBackground().darker()); else g.setColor(c.getBackground()); g.fillRect(viewRect.x, viewRect.y, viewRect.width, viewRect.height); } } // needs focus to be painted // for now we don't know exactly what to do...we'll see! if (b.isFocusPainted() && b.hasFocus()) { // paint UI specific focus paintFocus(g, b, viewRect, textRect, iconRect); } } // performs icon and text rect calculations final String text = layoutAndGetText(g, b, aquaBorder, i, viewRect, iconRect, textRect); // Paint the Icon if (b.getIcon() != null) { paintIcon(g, b, iconRect); } if (textRect.width == 0) { textRect.width = 50; } if (text != null && !text.equals("")) { final View v = (View)c.getClientProperty(BasicHTML.propertyKey); if (v != null) { v.paint(g, textRect); } else { paintText(g, b, textRect, text); } } }