Java Code Examples for javax.swing.SwingUtilities#layoutCompoundLabel()
The following examples show how to use
javax.swing.SwingUtilities#layoutCompoundLabel() .
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: CloseTabPaneUI.java From iBioSim with Apache License 2.0 | 6 votes |
@Override protected void layoutLabel(int tabPlacement, FontMetrics metrics, int tabIndex, String title, Icon icon, Rectangle tabRect, Rectangle iconRect, Rectangle textRect, boolean isSelected) { textRect.x = textRect.y = iconRect.x = iconRect.y = 0; View v = getTextViewForTab(tabIndex); if (v != null) { tabPane.putClientProperty("html", v); } SwingUtilities.layoutCompoundLabel(tabPane, metrics, title, icon, SwingConstants.CENTER, SwingConstants.LEFT, SwingConstants.CENTER, SwingConstants.CENTER, tabRect, iconRect, textRect, textIconGap); tabPane.putClientProperty("html", null); iconRect.x = tabRect.x + 8; textRect.x = iconRect.x + iconRect.width + textIconGap; }
Example 2
Source File: ThumbnailLabelUI.java From pumpernickel with MIT License | 6 votes |
protected void calculateGeometry(JLabel label) { FontMetrics fm = label.getFontMetrics(label.getFont()); String text = label.getText(); Icon icon = label.getIcon(); int verticalAlignment = label.getVerticalAlignment(); int horizontalAlignment = label.getHorizontalAlignment(); int verticalTextPosition = label.getVerticalTextPosition(); int horizontalTextPosition = label.getHorizontalTextPosition(); int textIconGap = label.getIconTextGap(); viewR.setFrame(0, 0, getViewWidth(label), label.getHeight()); SwingUtilities.layoutCompoundLabel(fm, text, icon, verticalAlignment, horizontalAlignment, verticalTextPosition, horizontalTextPosition, viewR, iconRect, textRect, textIconGap); textRect.x = label.getWidth() / 2 - textRect.width / 2; iconRect.x = label.getWidth() / 2 - iconRect.width / 2; iconRect.y = 0; textRect.y = iconRect.height + label.getIconTextGap(); }
Example 3
Source File: NavlinkUI.java From RipplePower with Apache License 2.0 | 5 votes |
private String layout(AbstractButton b, FontMetrics fm, int width, int height) { Insets i = b.getInsets(); viewRect.x = i.left; viewRect.y = i.top; viewRect.width = width - (i.right + viewRect.x); viewRect.height = height - (i.bottom + viewRect.y); textRect.x = textRect.y = textRect.width = textRect.height = 0; iconRect.x = iconRect.y = iconRect.width = iconRect.height = 0; return SwingUtilities.layoutCompoundLabel(b, fm, b.getText(), b.getIcon(), b.getVerticalAlignment(), b.getHorizontalAlignment(), b.getVerticalTextPosition(), b.getHorizontalTextPosition(), viewRect, iconRect, textRect, b.getText() == null ? 0 : b.getIconTextGap()); }
Example 4
Source File: HyperlinkCellRenderer.java From beautyeye with Apache License 2.0 | 5 votes |
protected boolean checkIfPointInsideHyperlink(Point p) { hitColumnIndex = table.columnAtPoint(p); hitRowIndex = table.rowAtPoint(p); if (hitColumnIndex != -1 && hitRowIndex != -1 && columnModelIndeces.contains(table.getColumnModel(). getColumn(hitColumnIndex).getModelIndex())) { // We know point is within a hyperlink column, however we do further hit testing // to see if point is within the text bounds on the hyperlink TableCellRenderer renderer = table.getCellRenderer(hitRowIndex, hitColumnIndex); JHyperlink hyperlink = (JHyperlink) table.prepareRenderer(renderer, hitRowIndex, hitColumnIndex); // Convert the event to the renderer's coordinate system cellRect = table.getCellRect(hitRowIndex, hitColumnIndex, false); hyperlink.setSize(cellRect.width, cellRect.height); p.translate(-cellRect.x, -cellRect.y); cellRect.x = cellRect.y = 0; iconRect.x = iconRect.y = iconRect.width = iconRect.height = 0; textRect.x = textRect.y = textRect.width = textRect.height = 0; SwingUtilities.layoutCompoundLabel( hyperlink.getFontMetrics(hyperlink.getFont()), hyperlink.getText(), hyperlink.getIcon(), hyperlink.getVerticalAlignment(), hyperlink.getHorizontalAlignment(), hyperlink.getVerticalTextPosition(), hyperlink.getHorizontalTextPosition(), cellRect, iconRect, textRect, hyperlink.getIconTextGap()); if (textRect.contains(p)) { // point is within hyperlink text bounds return true; } } // point is not within a hyperlink's text bounds hitRowIndex = -1; hitColumnIndex = -1; return false; }
Example 5
Source File: CloseableTabbedPane.java From SikuliX1 with MIT License | 5 votes |
/** * Layouts the label * * @param tabPlacement the placement of the tabs * @param metrics the font metrics * @param tabIndex the index of the tab * @param title the title of the tab * @param icon the icon of the tab * @param tabRect the tab boundaries * @param iconRect the icon boundaries * @param textRect the text boundaries * @param isSelected true whether the tab is selected, false otherwise */ @Override protected void layoutLabel(int tabPlacement, FontMetrics metrics, int tabIndex, String title, Icon icon, Rectangle tabRect, Rectangle iconRect, Rectangle textRect, boolean isSelected) { textRect.x = textRect.y = iconRect.x = iconRect.y = 0; javax.swing.text.View v = getTextViewForTab(tabIndex); if (v != null) { tabPane.putClientProperty("html", v); } SwingUtilities.layoutCompoundLabel((JComponent) tabPane, metrics, title, icon, SwingUtilities.CENTER, SwingUtilities.CENTER, SwingUtilities.CENTER, //SwingUtilities.TRAILING, horizontalTextPosition, tabRect, iconRect, textRect, textIconGap + 2); tabPane.putClientProperty("html", null); int xNudge = getTabLabelShiftX(tabPlacement, tabIndex, isSelected); int yNudge = getTabLabelShiftY(tabPlacement, tabIndex, isSelected); iconRect.x += xNudge; iconRect.y += yNudge; textRect.x += xNudge; textRect.y += yNudge; }
Example 6
Source File: CloseableTabbedPane.java From SikuliX1 with MIT License | 5 votes |
/** * Layouts the label * * @param tabPlacement the placement of the tabs * @param metrics the font metrics * @param tabIndex the index of the tab * @param title the title of the tab * @param icon the icon of the tab * @param tabRect the tab boundaries * @param iconRect the icon boundaries * @param textRect the text boundaries * @param isSelected true whether the tab is selected, false otherwise */ @Override protected void layoutLabel(int tabPlacement, FontMetrics metrics, int tabIndex, String title, Icon icon, Rectangle tabRect, Rectangle iconRect, Rectangle textRect, boolean isSelected) { textRect.x = textRect.y = iconRect.x = iconRect.y = 0; javax.swing.text.View v = getTextViewForTab(tabIndex); if (v != null) { tabPane.putClientProperty("html", v); } SwingUtilities.layoutCompoundLabel((JComponent) tabPane, metrics, title, icon, SwingUtilities.CENTER, SwingUtilities.CENTER, SwingUtilities.CENTER, //SwingUtilities.TRAILING, horizontalTextPosition, tabRect, iconRect, textRect, textIconGap + 2); tabPane.putClientProperty("html", null); int xNudge = getTabLabelShiftX(tabPlacement, tabIndex, isSelected); int yNudge = getTabLabelShiftY(tabPlacement, tabIndex, isSelected); iconRect.x += xNudge; iconRect.y += yNudge; textRect.x += xNudge; textRect.y += yNudge; }
Example 7
Source File: CloseableModernTabbedPaneUI.java From SikuliX1 with MIT License | 5 votes |
/** * Layouts the label * * @param tabPlacement the placement of the tabs * @param metrics the font metrics * @param tabIndex the index of the tab * @param title the title of the tab * @param icon the icon of the tab * @param tabRect the tab boundaries * @param iconRect the icon boundaries * @param textRect the text boundaries * @param isSelected true whether the tab is selected, false otherwise */ @Override protected void layoutLabel(int tabPlacement, FontMetrics metrics, int tabIndex, String title, Icon icon, Rectangle tabRect, Rectangle iconRect, Rectangle textRect, boolean isSelected) { textRect.x = textRect.y = iconRect.x = iconRect.y = 0; javax.swing.text.View v = getTextViewForTab(tabIndex); if (v != null) { tabPane.putClientProperty("html", v); } SwingUtilities.layoutCompoundLabel((JComponent) tabPane, metrics, title, icon, SwingUtilities.CENTER, SwingUtilities.CENTER, SwingUtilities.CENTER, //SwingUtilities.TRAILING, horizontalTextPosition, tabRect, iconRect, textRect, textIconGap + 2); tabPane.putClientProperty("html", null); int xNudge = getTabLabelShiftX(tabPlacement, tabIndex, isSelected); int yNudge = getTabLabelShiftY(tabPlacement, tabIndex, isSelected); iconRect.x += xNudge; iconRect.y += yNudge; textRect.x += xNudge; textRect.y += yNudge; }
Example 8
Source File: XLabel.java From scelight with Apache License 2.0 | 5 votes |
/** * Positions tool tips exactly over the label text, also avoids showing empty tool tips (by returning <code>null</code>). */ @Override public Point getToolTipLocation( MouseEvent event ) { // If tool tip is provided by the renderer or the table itself, use default location: if ( super.getToolTipText( event ) != null ) return super.getToolTipLocation( event ); // If no tool tip, return null to prevent displaying an empty tool tip if ( getToolTipText( event ) == null ) return null; // Now we need the position of the rendered text. This depends on many things (e.g. space reserved for the label, // horizontal, vertical alignments, has icon, icon size, icon text gap etc.) // The calculation is not easy, but we have built-in help: final Point p = new Point( -4, -4 ); final Rectangle textR = new Rectangle(); SwingUtilities.layoutCompoundLabel( this, getFontMetrics( getFont() ), getText(), getIcon(), getVerticalAlignment(), getHorizontalAlignment(), getVerticalTextPosition(), getHorizontalTextPosition(), getVisibleRect(), new Rectangle(), textR, getIconTextGap() ); p.x += textR.x; p.y += textR.y; // We have to account for border ourselves if ( getBorder() != null ) { final Insets insets = getBorder().getBorderInsets( this ); p.x += insets.left; p.y += ( insets.top - insets.bottom ) / 2; // Might be negative? (that's why I don't use shift) } return p; }
Example 9
Source File: CloseableTabbedPane.java From ramus with GNU General Public License v3.0 | 5 votes |
/** * Layouts the label * * @param tabPlacement the placement of the tabs * @param metrics the font metrics * @param tabIndex the index of the tab * @param title the title of the tab * @param icon the icon of the tab * @param tabRect the tab boundaries * @param iconRect the icon boundaries * @param textRect the text boundaries * @param isSelected true whether the tab is selected, false otherwise */ protected void layoutLabel(int tabPlacement, FontMetrics metrics, int tabIndex, String title, Icon icon, Rectangle tabRect, Rectangle iconRect, Rectangle textRect, boolean isSelected) { textRect.x = textRect.y = iconRect.x = iconRect.y = 0; javax.swing.text.View v = getTextViewForTab(tabIndex); if (v != null) { tabPane.putClientProperty("html", v); } SwingUtilities.layoutCompoundLabel(tabPane, metrics, title, icon, SwingUtilities.CENTER, SwingUtilities.CENTER, SwingUtilities.CENTER, // SwingUtilities.TRAILING, horizontalTextPosition, tabRect, iconRect, textRect, textIconGap + 2); tabPane.putClientProperty("html", null); int xNudge = getTabLabelShiftX(tabPlacement, tabIndex, isSelected); int yNudge = getTabLabelShiftY(tabPlacement, tabIndex, isSelected); iconRect.x += xNudge; iconRect.y += yNudge; textRect.x += xNudge; textRect.y += yNudge; }
Example 10
Source File: BasicLinkButtonUI.java From orbit-image-analysis with GNU General Public License v3.0 | 4 votes |
public void paint(Graphics g, JComponent c) { AbstractButton b = (AbstractButton)c; ButtonModel model = b.getModel(); FontMetrics fm = g.getFontMetrics(); Insets i = c.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 = 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()); 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); } Composite oldComposite = ((Graphics2D)g).getComposite(); if (model.isRollover()) { ((Graphics2D)g).setComposite( AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.5f)); } if (text != null && !text.equals("")) { View v = (View)c.getClientProperty(BasicHTML.propertyKey); if (v != null) { textRect.x += getTextShiftOffset(); textRect.y += getTextShiftOffset(); v.paint(g, textRect); textRect.x -= getTextShiftOffset(); textRect.y -= getTextShiftOffset(); } else { paintText(g, b, textRect, text); } } if (b.isFocusPainted() && b.hasFocus()) { // paint UI specific focus paintFocus(g, b, viewRect, textRect, iconRect); } ((Graphics2D)g).setComposite(oldComposite); }
Example 11
Source File: JHyperlink.java From littleluck with Apache License 2.0 | 4 votes |
@Override protected void paintComponent(Graphics g) { // Set the foreground on the fly to ensure the text is painted // with the proper color in super.paintComponent ButtonModel model = getModel(); if (model.isArmed()) { super.setForeground(activeForeground); } else if (visited) { super.setForeground(visitedForeground); } else { super.setForeground(normalForeground); } super.paintComponent(g); if (drawUnderline) { Insets insets = getInsets(); viewRect.x = insets.left; viewRect.y = insets.top; viewRect.width = getWidth() - insets.left - insets.right; viewRect.height = getHeight() - insets.top - insets.bottom; int baseline = getBaseline(viewRect.width, viewRect.height); iconRect.x = iconRect.y = iconRect.width = iconRect.height = 0; textRect.x = textRect.y = textRect.width = textRect.height = 0; SwingUtilities.layoutCompoundLabel(g.getFontMetrics(), getText(), getIcon(), getVerticalAlignment(), getHorizontalAlignment(), getVerticalTextPosition(), getHorizontalTextPosition(), viewRect, iconRect, textRect, getIconTextGap()); // getBaseline not returning correct results, so workaround for now if (UIManager.getLookAndFeel().getName().equals("Nimbus")) { baseline += 7; } else { baseline += 3; } g.setColor(getForeground()); g.drawLine(textRect.x, baseline, textRect.x + textRect.width, baseline); } }
Example 12
Source File: XButtonPeer.java From hottub with GNU General Public License v2.0 | 4 votes |
/** * This method is called from Toolkit Thread and so it should not call any * client code. */ @Override void paintPeer(final Graphics g) { if (!disposed) { Dimension size = getPeerSize(); g.setColor( getPeerBackground() ); /* erase the existing button remains */ g.fillRect(0,0, size.width , size.height); paintBorder(g,borderInsets.left, borderInsets.top, size.width-(borderInsets.left+borderInsets.right), size.height-(borderInsets.top+borderInsets.bottom)); FontMetrics fm = g.getFontMetrics(); Rectangle textRect,iconRect,viewRect; textRect = new Rectangle(); viewRect = new Rectangle(); iconRect = new Rectangle(); viewRect.width = size.width - (contentAreaInsets.left+contentAreaInsets.right); viewRect.height = size.height - (contentAreaInsets.top+contentAreaInsets.bottom); viewRect.x = contentAreaInsets.left; viewRect.y = contentAreaInsets.top; String llabel = (label != null) ? label : ""; // layout the text and icon String text = SwingUtilities.layoutCompoundLabel( fm, llabel, null, SwingConstants.CENTER, SwingConstants.CENTER, SwingConstants.CENTER, SwingConstants.CENTER, viewRect, iconRect, textRect, 0); Font f = getPeerFont(); g.setFont(f); // perform UI specific press action, e.g. Windows L&F shifts text if (pressed && armed) { paintButtonPressed(g,target); } paintText(g, target, textRect, text); if (hasFocus()) { // paint UI specific focus paintFocus(g,focusInsets.left, focusInsets.top, size.width-(focusInsets.left+focusInsets.right)-1, size.height-(focusInsets.top+focusInsets.bottom)-1); } } flush(); }
Example 13
Source File: ToggleButtonUI.java From rapidminer-studio with GNU Affero General Public License v3.0 | 4 votes |
@Override public void paint(Graphics g, JComponent c) { AbstractButton b = (AbstractButton) c; 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); 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 (b.isContentAreaFilled()) { if (RapidLookTools.isToolbarButton(b)) { RapidLookTools.drawToolbarButton(g, b); } else { RapidLookTools.drawButton(b, g, RapidLookTools.createShapeForButton(b)); } } if (b.getIcon() != null) { paintIcon(g, b, 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()) { paintFocus(g, b, viewRect, textRect, iconRect); } if (!RapidLookTools.isToolbarButton(b)) { if (b.isBorderPainted()) { RapidLookTools.drawButtonBorder(b, g, RapidLookTools.createBorderShapeForButton(b)); } } }
Example 14
Source File: JHyperlink.java From openjdk-jdk9 with GNU General Public License v2.0 | 4 votes |
@Override protected void paintComponent(Graphics g) { // Set the foreground on the fly to ensure the text is painted // with the proper color in super.paintComponent ButtonModel model = getModel(); if (model.isArmed()) { super.setForeground(activeForeground); } else if (visited) { super.setForeground(visitedForeground); } else { super.setForeground(normalForeground); } super.paintComponent(g); if (drawUnderline) { Insets insets = getInsets(); viewRect.x = insets.left; viewRect.y = insets.top; viewRect.width = getWidth() - insets.left - insets.right; viewRect.height = getHeight() - insets.top - insets.bottom; int baseline = getBaseline(viewRect.width, viewRect.height); iconRect.x = iconRect.y = iconRect.width = iconRect.height = 0; textRect.x = textRect.y = textRect.width = textRect.height = 0; SwingUtilities.layoutCompoundLabel(g.getFontMetrics(), getText(), getIcon(), getVerticalAlignment(), getHorizontalAlignment(), getVerticalTextPosition(), getHorizontalTextPosition(), viewRect, iconRect, textRect, getIconTextGap()); // getBaseline not returning correct results, so workaround for now if (UIManager.getLookAndFeel().getName().equals("Nimbus")) { baseline += 7; } else { baseline += 3; } g.setColor(getForeground()); g.drawLine(textRect.x, baseline, textRect.x + textRect.width, baseline); } }
Example 15
Source File: XButtonPeer.java From openjdk-jdk8u-backup with GNU General Public License v2.0 | 4 votes |
/** * This method is called from Toolkit Thread and so it should not call any * client code. */ @Override void paintPeer(final Graphics g) { if (!disposed) { Dimension size = getPeerSize(); g.setColor( getPeerBackground() ); /* erase the existing button remains */ g.fillRect(0,0, size.width , size.height); paintBorder(g,borderInsets.left, borderInsets.top, size.width-(borderInsets.left+borderInsets.right), size.height-(borderInsets.top+borderInsets.bottom)); FontMetrics fm = g.getFontMetrics(); Rectangle textRect,iconRect,viewRect; textRect = new Rectangle(); viewRect = new Rectangle(); iconRect = new Rectangle(); viewRect.width = size.width - (contentAreaInsets.left+contentAreaInsets.right); viewRect.height = size.height - (contentAreaInsets.top+contentAreaInsets.bottom); viewRect.x = contentAreaInsets.left; viewRect.y = contentAreaInsets.top; String llabel = (label != null) ? label : ""; // layout the text and icon String text = SwingUtilities.layoutCompoundLabel( fm, llabel, null, SwingConstants.CENTER, SwingConstants.CENTER, SwingConstants.CENTER, SwingConstants.CENTER, viewRect, iconRect, textRect, 0); Font f = getPeerFont(); g.setFont(f); // perform UI specific press action, e.g. Windows L&F shifts text if (pressed && armed) { paintButtonPressed(g,target); } paintText(g, target, textRect, text); if (hasFocus()) { // paint UI specific focus paintFocus(g,focusInsets.left, focusInsets.top, size.width-(focusInsets.left+focusInsets.right)-1, size.height-(focusInsets.top+focusInsets.bottom)-1); } } flush(); }
Example 16
Source File: SplashComponentPreview.java From netbeans with Apache License 2.0 | 4 votes |
public void originalPaint(Graphics graphics) { Graphics2D g2d = (Graphics2D)graphics; if (!isEnabled()) { g2d.setComposite(AlphaComposite.getInstance( AlphaComposite.SRC_OVER, 0.3f)); } graphics.setColor(color_text); graphics.drawImage(image, 0, 0, null); if (text == null) { // no text to draw return; } if (fm == null) { // XXX(-ttran) this happened on Japanese Windows NT, don't // fully understand why return; } SwingUtilities.layoutCompoundLabel(fm, text, null, SwingConstants.BOTTOM, SwingConstants.LEFT, SwingConstants.BOTTOM, SwingConstants.LEFT, this.view, new Rectangle(), rect, 0); // turn anti-aliasing on for the splash text g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON); graphics.drawString(text, rect.x, rect.y + fm.getAscent()); // Draw progress bar if applicable if (draw_bar && Boolean.getBoolean("netbeans.splash.nobar") == false && maxSteps > 0/* && barLength > 0*/) { graphics.setColor(color_bar); graphics.fillRect(bar.x, bar.y, barStart + barLength, bar.height); graphics.setColor(color_corner); graphics.drawLine(bar.x, bar.y, bar.x, bar.y + bar.height); graphics.drawLine(bar.x + barStart + barLength, bar.y, bar.x + barStart + barLength, bar.y + bar.height); graphics.setColor(color_edge); graphics.drawLine(bar.x, bar.y + bar.height / 2, bar.x, bar.y + bar.height / 2); graphics.drawLine(bar.x + barStart + barLength, bar.y + bar.height / 2, bar.x + barStart + barLength, bar.y + bar.height / 2); barStart += barLength; barLength = 0; } }
Example 17
Source File: XButtonPeer.java From openjdk-jdk8u with GNU General Public License v2.0 | 4 votes |
/** * This method is called from Toolkit Thread and so it should not call any * client code. */ @Override void paintPeer(final Graphics g) { if (!disposed) { Dimension size = getPeerSize(); g.setColor( getPeerBackground() ); /* erase the existing button remains */ g.fillRect(0,0, size.width , size.height); paintBorder(g,borderInsets.left, borderInsets.top, size.width-(borderInsets.left+borderInsets.right), size.height-(borderInsets.top+borderInsets.bottom)); FontMetrics fm = g.getFontMetrics(); Rectangle textRect,iconRect,viewRect; textRect = new Rectangle(); viewRect = new Rectangle(); iconRect = new Rectangle(); viewRect.width = size.width - (contentAreaInsets.left+contentAreaInsets.right); viewRect.height = size.height - (contentAreaInsets.top+contentAreaInsets.bottom); viewRect.x = contentAreaInsets.left; viewRect.y = contentAreaInsets.top; String llabel = (label != null) ? label : ""; // layout the text and icon String text = SwingUtilities.layoutCompoundLabel( fm, llabel, null, SwingConstants.CENTER, SwingConstants.CENTER, SwingConstants.CENTER, SwingConstants.CENTER, viewRect, iconRect, textRect, 0); Font f = getPeerFont(); g.setFont(f); // perform UI specific press action, e.g. Windows L&F shifts text if (pressed && armed) { paintButtonPressed(g,target); } paintText(g, target, textRect, text); if (hasFocus()) { // paint UI specific focus paintFocus(g,focusInsets.left, focusInsets.top, size.width-(focusInsets.left+focusInsets.right)-1, size.height-(focusInsets.top+focusInsets.bottom)-1); } } flush(); }
Example 18
Source File: XButtonPeer.java From jdk8u60 with GNU General Public License v2.0 | 4 votes |
/** * This method is called from Toolkit Thread and so it should not call any * client code. */ @Override void paintPeer(final Graphics g) { if (!disposed) { Dimension size = getPeerSize(); g.setColor( getPeerBackground() ); /* erase the existing button remains */ g.fillRect(0,0, size.width , size.height); paintBorder(g,borderInsets.left, borderInsets.top, size.width-(borderInsets.left+borderInsets.right), size.height-(borderInsets.top+borderInsets.bottom)); FontMetrics fm = g.getFontMetrics(); Rectangle textRect,iconRect,viewRect; textRect = new Rectangle(); viewRect = new Rectangle(); iconRect = new Rectangle(); viewRect.width = size.width - (contentAreaInsets.left+contentAreaInsets.right); viewRect.height = size.height - (contentAreaInsets.top+contentAreaInsets.bottom); viewRect.x = contentAreaInsets.left; viewRect.y = contentAreaInsets.top; String llabel = (label != null) ? label : ""; // layout the text and icon String text = SwingUtilities.layoutCompoundLabel( fm, llabel, null, SwingConstants.CENTER, SwingConstants.CENTER, SwingConstants.CENTER, SwingConstants.CENTER, viewRect, iconRect, textRect, 0); Font f = getPeerFont(); g.setFont(f); // perform UI specific press action, e.g. Windows L&F shifts text if (pressed && armed) { paintButtonPressed(g,target); } paintText(g, target, textRect, text); if (hasFocus()) { // paint UI specific focus paintFocus(g,focusInsets.left, focusInsets.top, size.width-(focusInsets.left+focusInsets.right)-1, size.height-(focusInsets.top+focusInsets.bottom)-1); } } flush(); }
Example 19
Source File: XButtonPeer.java From dragonwell8_jdk with GNU General Public License v2.0 | 4 votes |
/** * This method is called from Toolkit Thread and so it should not call any * client code. */ @Override void paintPeer(final Graphics g) { if (!disposed) { Dimension size = getPeerSize(); g.setColor( getPeerBackground() ); /* erase the existing button remains */ g.fillRect(0,0, size.width , size.height); paintBorder(g,borderInsets.left, borderInsets.top, size.width-(borderInsets.left+borderInsets.right), size.height-(borderInsets.top+borderInsets.bottom)); FontMetrics fm = g.getFontMetrics(); Rectangle textRect,iconRect,viewRect; textRect = new Rectangle(); viewRect = new Rectangle(); iconRect = new Rectangle(); viewRect.width = size.width - (contentAreaInsets.left+contentAreaInsets.right); viewRect.height = size.height - (contentAreaInsets.top+contentAreaInsets.bottom); viewRect.x = contentAreaInsets.left; viewRect.y = contentAreaInsets.top; String llabel = (label != null) ? label : ""; // layout the text and icon String text = SwingUtilities.layoutCompoundLabel( fm, llabel, null, SwingConstants.CENTER, SwingConstants.CENTER, SwingConstants.CENTER, SwingConstants.CENTER, viewRect, iconRect, textRect, 0); Font f = getPeerFont(); g.setFont(f); // perform UI specific press action, e.g. Windows L&F shifts text if (pressed && armed) { paintButtonPressed(g,target); } paintText(g, target, textRect, text); if (hasFocus()) { // paint UI specific focus paintFocus(g,focusInsets.left, focusInsets.top, size.width-(focusInsets.left+focusInsets.right)-1, size.height-(focusInsets.top+focusInsets.bottom)-1); } } flush(); }
Example 20
Source File: XButtonPeer.java From jdk8u-dev-jdk with GNU General Public License v2.0 | 4 votes |
/** * This method is called from Toolkit Thread and so it should not call any * client code. */ @Override void paintPeer(final Graphics g) { if (!disposed) { Dimension size = getPeerSize(); g.setColor( getPeerBackground() ); /* erase the existing button remains */ g.fillRect(0,0, size.width , size.height); paintBorder(g,borderInsets.left, borderInsets.top, size.width-(borderInsets.left+borderInsets.right), size.height-(borderInsets.top+borderInsets.bottom)); FontMetrics fm = g.getFontMetrics(); Rectangle textRect,iconRect,viewRect; textRect = new Rectangle(); viewRect = new Rectangle(); iconRect = new Rectangle(); viewRect.width = size.width - (contentAreaInsets.left+contentAreaInsets.right); viewRect.height = size.height - (contentAreaInsets.top+contentAreaInsets.bottom); viewRect.x = contentAreaInsets.left; viewRect.y = contentAreaInsets.top; String llabel = (label != null) ? label : ""; // layout the text and icon String text = SwingUtilities.layoutCompoundLabel( fm, llabel, null, SwingConstants.CENTER, SwingConstants.CENTER, SwingConstants.CENTER, SwingConstants.CENTER, viewRect, iconRect, textRect, 0); Font f = getPeerFont(); g.setFont(f); // perform UI specific press action, e.g. Windows L&F shifts text if (pressed && armed) { paintButtonPressed(g,target); } paintText(g, target, textRect, text); if (hasFocus()) { // paint UI specific focus paintFocus(g,focusInsets.left, focusInsets.top, size.width-(focusInsets.left+focusInsets.right)-1, size.height-(focusInsets.top+focusInsets.bottom)-1); } } flush(); }