Java Code Examples for javax.swing.ImageIcon#paintIcon()
The following examples show how to use
javax.swing.ImageIcon#paintIcon() .
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: ImageIconSerializer.java From beakerx with Apache License 2.0 | 6 votes |
@Override public void serialize(ImageIcon vi, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException { synchronized (vi) { BufferedImage v = new BufferedImage( vi.getIconWidth(), vi.getIconHeight(), BufferedImage.TYPE_INT_RGB); Graphics g = v.createGraphics(); // paint the Icon to the BufferedImage. vi.paintIcon(null, g, 0, 0); g.dispose(); byte [] data = Images.encode(v); jgen.writeStartObject(); jgen.writeStringField("type", "ImageIcon"); jgen.writeObjectField("imageData", data); jgen.writeNumberField("width", v.getWidth()); jgen.writeNumberField("height", v.getHeight()); jgen.writeEndObject(); } }
Example 2
Source File: KeyStoreEntryDragGestureListener.java From keystore-explorer with GNU General Public License v3.0 | 6 votes |
/** * Drag gesture recognized. Start the drag off if valid. * * @param evt * Drag gesture event */ @Override public void dragGestureRecognized(DragGestureEvent evt) { DragEntry dragEntry = kseFrame.dragSelectedEntry(); if (dragEntry == null) { return; } ImageIcon icon = dragEntry.getImage(); // Draw image as drag cursor Toolkit toolkit = Toolkit.getDefaultToolkit(); Dimension dim = toolkit.getBestCursorSize(icon.getIconWidth(), icon.getIconHeight()); BufferedImage buffImage = new BufferedImage(dim.width, dim.height, BufferedImage.TYPE_INT_ARGB_PRE); icon.paintIcon(evt.getComponent(), buffImage.getGraphics(), 0, 0); cursor = toolkit.createCustomCursor(buffImage, new Point(0, 0), "keystore-entry"); evt.startDrag(cursor, new KeyStoreEntryTransferable(dragEntry), this); }
Example 3
Source File: BadgedIcon.java From ghidra with Apache License 2.0 | 5 votes |
private void doPaintIcon(Component c, Graphics g, int x, int y, Dimension badgeSize) { BufferedImage cached = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB); Graphics gc = cached.getGraphics(); base.paintIcon(c, gc, x, y); for (BadgePosition pos : BadgePosition.values()) { if (!isBadgeVisible(pos)) { continue; } MultiIcon icon = badgeMap.get(pos); Icon scaled = new ScaledImageIconWrapper(icon, badgeSize.width, badgeSize.height); Point badgePaintLoc = getBadgePaintLocation(pos, badgeSize); int badgeX = x + badgePaintLoc.x; int badgeY = y + badgePaintLoc.y; scaled.paintIcon(c, gc, badgeX, badgeY); if (!isBadgeEnabled(pos)) { // Alpha blend to background Color bgColor = c.getBackground(); gc.setColor( new Color(bgColor.getRed(), bgColor.getGreen(), bgColor.getBlue(), 128)); gc.fillRect(badgeX, badgeY, badgeSize.width, badgeSize.height); } } cachedThis = new ImageIcon(cached); cachedThis.paintIcon(c, g, x, y); }
Example 4
Source File: ImageCache.java From hortonmachine with GNU General Public License v3.0 | 5 votes |
public BufferedImage getBufferedImage( String key ) { ImageIcon icon = getImage(key); BufferedImage bi = new BufferedImage(icon.getIconWidth(), icon.getIconHeight(), BufferedImage.TYPE_INT_ARGB); Graphics g = bi.createGraphics(); icon.paintIcon(null, g, 0, 0); g.dispose(); return bi; }
Example 5
Source File: AnnotatedCardPanel.java From magarena with GNU General Public License v3.0 | 5 votes |
private void drawIcons(final Graphics2D g2d) { if (!cardIcons.isEmpty()) { final int BORDER_WIDTH = 2; final BasicStroke BORDER_STROKE = new BasicStroke(BORDER_WIDTH); final Stroke defaultStroke = g2d.getStroke(); g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); // draw icons int y = 10; int x = 0; final int ICON_WIDTH = 36; final int ICON_HEIGHT = 32; final int CORNER_ARC = 16; final GradientPaint PAINT_COLOR = new GradientPaint(0, 0, GRADIENT_FROM_COLOR, ICON_WIDTH, 0, GRADIENT_TO_COLOR); iconShapes.clear(); for (CardIcon cardIcon : cardIcons) { // icon bounds should be relative to CardPopupPanel. final Rectangle2D iconShapeRect = new Rectangle2D.Double((double)x, (double)y, (double)ICON_WIDTH, 32d); iconShapes.add(iconShapeRect); // final Rectangle rect = new Rectangle(x, y, ICON_WIDTH, ICON_HEIGHT); g2d.setPaint(PAINT_COLOR); g2d.fillRoundRect(rect.x, rect.y, rect.width, rect.height, CORNER_ARC, CORNER_ARC); g2d.setPaint(Color.BLACK); g2d.setStroke(BORDER_STROKE); g2d.drawRoundRect(rect.x, rect.y, rect.width, rect.height, CORNER_ARC, CORNER_ARC); g2d.setStroke(defaultStroke); // final ImageIcon icon = cardIcon.getIcon(); final int iconOffsetX = (ICON_WIDTH / 2) - (icon.getIconWidth() / 2); final int iconOffsetY = 16 - (icon.getIconHeight() / 2); icon.paintIcon(this, g2d, x + iconOffsetX, y + iconOffsetY); y += ICON_HEIGHT + 1; } } }
Example 6
Source File: ImageHelper.java From magarena with GNU General Public License v3.0 | 5 votes |
public static BufferedImage getConvertedIcon(final ImageIcon icon) { final BufferedImage bi = ImageHelper.getCompatibleBufferedImage( icon.getIconWidth(), icon.getIconHeight(), Transparency.TRANSLUCENT); final Graphics g = bi.createGraphics(); // paint the Icon to the BufferedImage. icon.paintIcon(null, g, 0, 0); g.dispose(); return bi; }
Example 7
Source File: ImageHelper.java From magarena with GNU General Public License v3.0 | 5 votes |
public static BufferedImage getBufferedImage(ImageIcon icon) { BufferedImage bi = getCompatibleBufferedImage(icon.getIconWidth(), icon.getIconHeight(), BufferedImage.TRANSLUCENT); Graphics g = bi.createGraphics(); icon.paintIcon(null, g, 0, 0); g.dispose(); return bi; }
Example 8
Source File: LogoNode.java From PolyGlot with MIT License | 5 votes |
public LogoNode() { ImageIcon loadBlank = new ImageIcon(getClass().getResource(PGTUtil.EMPTY_LOGO_IMAGE)); BufferedImage image = new BufferedImage( loadBlank.getIconWidth(), loadBlank.getIconHeight(), BufferedImage.TYPE_INT_RGB); Graphics g = image.createGraphics(); loadBlank.paintIcon(null, g, 0, 0); g.dispose(); logoGraph = image; }
Example 9
Source File: PortraitInfoPane.java From pcgen with GNU Lesser General Public License v2.1 | 5 votes |
private BufferedImage createDefaultPortrait() { ImageIcon defaultPortrait = Icons.DefaultPortrait.getImageIcon(); BufferedImage bufImage = new BufferedImage(defaultPortrait.getIconWidth(), defaultPortrait.getIconHeight(), BufferedImage.TYPE_INT_ARGB); defaultPortrait.paintIcon(this, bufImage.createGraphics(), 0, 0); return bufImage; }
Example 10
Source File: PortraitInfoPane.java From pcgen with GNU Lesser General Public License v2.1 | 5 votes |
private BufferedImage createDefaultPortrait() { ImageIcon defaultPortrait = Icons.DefaultPortrait.getImageIcon(); BufferedImage bufImage = new BufferedImage(defaultPortrait.getIconWidth(), defaultPortrait.getIconHeight(), BufferedImage.TYPE_INT_ARGB); defaultPortrait.paintIcon(this, bufImage.createGraphics(), 0, 0); return bufImage; }
Example 11
Source File: MegamekBorder.java From megamek with GNU General Public License v2.0 | 5 votes |
private void paintCorner(Component c, Graphics g, int x, int y, ImageIcon icon) { int tileW = icon.getIconWidth(); int tileH = icon.getIconHeight(); g = g.create(x, y, x+tileW, y+tileH); icon.paintIcon(c,g,0,0); g.dispose(); }
Example 12
Source File: Util.java From whyline with MIT License | 5 votes |
public static void drawCallout(Graphics2D g, ImageIcon icon, String label, int x, int y) { g = (Graphics2D)g.create(); g.setStroke(new BasicStroke(1.0f)); g.setFont(UI.getSmallFont()); Rectangle2D stringBounds = g.getFontMetrics().getStringBounds(label, g); int padding = 3; int iconWidth = icon == null ? 0 : icon.getIconWidth(); int iconHeight = icon == null ? 0 : icon.getIconHeight(); int maxContentHeight = (int) Math.max(iconHeight, stringBounds.getHeight()); int calloutHeight = (maxContentHeight + padding * 2) - 1; int calloutWidth = (int) (iconWidth + stringBounds.getWidth() + padding * 3); int iconX = x + (icon == null ? 0 : padding); int iconY = y + padding; int stringX = iconX + iconWidth + padding; int stringBaseline = y + (calloutHeight - padding - (calloutHeight - g.getFontMetrics().getHeight()) / 2); g.setColor(UI.getPanelDarkColor()); g.fillRoundRect(x, y, calloutWidth, calloutHeight, UI.getRoundedness(), UI.getRoundedness()); g.setColor(UI.getControlBorderColor()); g.drawRoundRect(x, y, calloutWidth, calloutHeight, UI.getRoundedness(), UI.getRoundedness()); if(icon != null) icon.paintIcon(null, g, iconX, iconY); g.setColor(UI.getPanelTextColor()); g.drawString(label, stringX, stringBaseline); }
Example 13
Source File: AreaIconLayer.java From rcrs-server with BSD 3-Clause "New" or "Revised" License | 5 votes |
@Override public Shape render(Area b, Graphics2D g, ScreenTransform t) { ImageIcon icon = null; switch (b.getStandardURN()) { case REFUGE: icon = REFUGE; break; case GAS_STATION: icon = GAS_STATION; break; case FIRE_STATION: icon = FIRE_STATION; break; case AMBULANCE_CENTRE: icon = AMBULANCE_CENTRE; break; case POLICE_OFFICE: icon = POLICE_OFFICE; break; case HYDRANT: icon = HYDRANT; break; default: break; } if (icon != null) { // Draw an icon over the centre of the building int x = t.xToScreen(b.getX()) - (icon.getIconWidth() / 2); int y = t.yToScreen(b.getY()) - (icon.getIconHeight() / 2); icon.paintIcon(null, g, x, y); } return null; }
Example 14
Source File: BuildingIconLayer.java From rcrs-server with BSD 3-Clause "New" or "Revised" License | 5 votes |
@Override public Shape render(Building b, Graphics2D g, ScreenTransform t) { ImageIcon icon = null; switch (b.getStandardURN()) { case REFUGE: icon = REFUGE; break; case FIRE_STATION: icon = FIRE_STATION; break; case AMBULANCE_CENTRE: icon = AMBULANCE_CENTRE; break; case POLICE_OFFICE: icon = POLICE_OFFICE; break; default: break; } if (icon != null) { // Draw an icon over the centre of the building int x = t.xToScreen(b.getX()) - (icon.getIconWidth() / 2); int y = t.yToScreen(b.getY()) - (icon.getIconHeight() / 2); icon.paintIcon(null, g, x, y); } return null; }
Example 15
Source File: SupportTableHeaderRenderer.java From dsworkbench with Apache License 2.0 | 4 votes |
@Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { Icon sortIcon = null; boolean isPaintingForPrint = false; if (table != null) { JTableHeader header = table.getTableHeader(); if (header != null) { Color fgColor = null; Color bgColor = null; if (hasFocus) { fgColor = UIManager.getColor("TableHeader.focusCellForeground"); bgColor = UIManager.getColor("TableHeader.focusCellBackground"); } if (fgColor == null) { fgColor = header.getForeground(); } if (bgColor == null) { bgColor = header.getBackground(); } setForeground(fgColor); setFont(header.getFont()); isPaintingForPrint = header.isPaintingForPrint(); } if (!isPaintingForPrint && table.getRowSorter() != null) { if (!horizontalTextPositionSet) { // There is a row sorter, and the developer hasn't // set a text position, change to leading. setHorizontalTextPosition(JLabel.LEADING); } java.util.List<? extends RowSorter.SortKey> sortKeys = table.getRowSorter().getSortKeys(); if (sortKeys.size() > 0 && sortKeys.get(0).getColumn() == table.convertColumnIndexToModel(column)) { switch (sortKeys.get(0).getSortOrder()) { case ASCENDING: sortIcon = UIManager.getIcon("Table.ascendingSortIcon"); break; case DESCENDING: sortIcon = UIManager.getIcon("Table.descendingSortIcon"); break; case UNSORTED: sortIcon = UIManager.getIcon("Table.naturalSortIcon"); break; } } } } SupportTableModel model = (SupportTableModel) table.getModel(); ImageIcon icon = model.getColumnIcon((String) value); BufferedImage i = ImageUtils.createCompatibleBufferedImage(18, 18, BufferedImage.BITMASK); Graphics2D g2d = i.createGraphics(); // setIcon(sortIcon); if (icon != null) { icon.paintIcon(this, g2d, 0, 0); setText(""); if (sortIcon != null) { g2d.setColor(getBackground()); g2d.fillRect(18 - sortIcon.getIconWidth() - 2, 18 - sortIcon.getIconHeight() - 2, sortIcon.getIconWidth() + 2, sortIcon.getIconHeight() + 2); sortIcon.paintIcon(this, g2d, 18 - sortIcon.getIconWidth() - 1, 18 - sortIcon.getIconHeight() - 1); } setIcon(new ImageIcon(i)); } else { setIcon(sortIcon); setText(value == null ? "" : value.toString()); } Border border = null; if (hasFocus) { border = UIManager.getBorder("TableHeader.focusCellBorder"); } if (border == null) { border = UIManager.getBorder("TableHeader.cellBorder"); } setBorder(border); return this; }
Example 16
Source File: TroopTableHeaderRenderer.java From dsworkbench with Apache License 2.0 | 4 votes |
@Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { Icon sortIcon = null; boolean isPaintingForPrint = false; if (table != null) { JTableHeader header = table.getTableHeader(); if (header != null) { Color fgColor = null; Color bgColor = null; if (hasFocus) { fgColor = UIManager.getColor("TableHeader.focusCellForeground"); bgColor = UIManager.getColor("TableHeader.focusCellBackground"); } if (fgColor == null) { fgColor = header.getForeground(); } if (bgColor == null) { bgColor = header.getBackground(); } setForeground(fgColor); setFont(header.getFont()); isPaintingForPrint = header.isPaintingForPrint(); } if (!isPaintingForPrint && table.getRowSorter() != null) { if (!horizontalTextPositionSet) { // There is a row sorter, and the developer hasn't // set a text position, change to leading. setHorizontalTextPosition(JLabel.LEADING); } java.util.List<? extends RowSorter.SortKey> sortKeys = table.getRowSorter().getSortKeys(); if (sortKeys.size() > 0 && sortKeys.get(0).getColumn() == table.convertColumnIndexToModel(column)) { switch (sortKeys.get(0).getSortOrder()) { case ASCENDING: sortIcon = UIManager.getIcon("Table.ascendingSortIcon"); break; case DESCENDING: sortIcon = UIManager.getIcon("Table.descendingSortIcon"); break; case UNSORTED: sortIcon = UIManager.getIcon("Table.naturalSortIcon"); break; } } } } TroopsTableModel model = (TroopsTableModel) table.getModel(); ImageIcon icon = model.getColumnIcon((String) value); BufferedImage i = ImageUtils.createCompatibleBufferedImage(18, 18, BufferedImage.BITMASK); Graphics2D g2d = i.createGraphics(); // setIcon(sortIcon); if (icon != null) { icon.paintIcon(this, g2d, 0, 0); setText(""); if (sortIcon != null) { g2d.setColor(getBackground()); g2d.fillRect(18 - sortIcon.getIconWidth() - 2, 18 - sortIcon.getIconHeight() - 2, sortIcon.getIconWidth() + 2, sortIcon.getIconHeight() + 2); sortIcon.paintIcon(this, g2d, 18 - sortIcon.getIconWidth() - 1, 18 - sortIcon.getIconHeight() - 1); } setIcon(new ImageIcon(i)); } else { setIcon(sortIcon); setText(value == null ? "" : value.toString()); } Border border = null; if (hasFocus) { border = UIManager.getBorder("TableHeader.focusCellBorder"); } if (border == null) { border = UIManager.getBorder("TableHeader.cellBorder"); } setBorder(border); return this; }
Example 17
Source File: TableComponent.java From MogwaiERDesignerNG with GNU General Public License v3.0 | 4 votes |
@Override public void paint(Graphics g) { super.paint(g); Graphics2D theGraphics = (Graphics2D) g; Dimension theSize = getSize(); FontMetrics theMetrics = getFontMetrics(getFont()); theGraphics.setColor(Color.blue); theGraphics.drawRect(10, 10, theSize.width - 10, theSize.height - 10); theGraphics.drawRect(10, 10, theSize.width - 10, 10 + theMetrics.getAscent()); GradientPaint thePaint = new GradientPaint(0, 0, Color.blue, theSize.width - 35, theSize.height, Color.black, false); theGraphics.setPaint(thePaint); theGraphics.fillRect(11, 11, theSize.width - 10 - 1, 10 + theMetrics.getAscent() - 1); thePaint = new GradientPaint(0, 0, new Color(90, 90, 90), theSize.width - 35, theSize.height, Color.black, false); theGraphics.setPaint(thePaint); theGraphics.fillRect(11, 19 + theMetrics.getAscent(), theSize.width - 10 - 1, theSize.height - 32); theGraphics.setColor(Color.white); theGraphics.drawString(table.getName(), 15, 10 + theMetrics.getAscent()); int y = 18 + theMetrics.getAscent(); for (Attribute<Table> theAttriute : table.getAttributes()) { g.setColor(Color.white); boolean theInclude = true; if (!fullMode) { theInclude = theAttriute.isForeignKey() || !theAttriute.isNullable(); } if (theInclude) { String theText = theAttriute.getName(); if (fullMode) { theText += ":"; theText += theAttriute.getLogicalDeclaration(); if (theAttriute.isNullable()) { theGraphics.drawString("N", theSize.width - 10, y + theMetrics.getAscent()); } } if (theAttriute.isForeignKey()) { g.setColor(Color.green); } if (theAttriute.isPrimaryKey()) { // Primarx key has underline AttributedString as = new AttributedString(theText); as.addAttribute(TextAttribute.FONT, theGraphics.getFont()); as.addAttribute(TextAttribute.UNDERLINE, TextAttribute.UNDERLINE_ON, 0, theText.length()); theGraphics.drawString(as.getIterator(), 15, y + theMetrics.getAscent()); } else { theGraphics.drawString(theText, 15, y + theMetrics.getAscent()); } y += theMetrics.getAscent(); } if (showSelfReference) { ImageIcon theIcon = IconFactory.getSelfReferenceIcon(); int xp = theSize.width - theIcon.getIconWidth() - 4; int yp = 14; theIcon.paintIcon(this, theGraphics, xp, yp); } } if (table.getIndexes().size() > 0 && fullMode) { boolean lineDrawn = false; for (Index theIndex : table.getIndexes()) { if (theIndex.getIndexType() != IndexType.PRIMARYKEY) { if (!lineDrawn) { y += 3; theGraphics.setColor(Color.blue); theGraphics.drawLine(10, y, theSize.width, y); lineDrawn = true; } String theName = theIndex.getName(); theGraphics.setColor(Color.white); theGraphics.drawString(theName, 15, y + theMetrics.getAscent()); y += theMetrics.getAscent(); for (IndexExpression theExpression : theIndex.getExpressions()) { theName = theExpression.toString(); theGraphics.drawString(theName, 20, y + theMetrics.getAscent()); y += theMetrics.getAscent(); } } } } }
Example 18
Source File: MegamekBorder.java From megamek with GNU General Public License v2.0 | 3 votes |
/** * Paints a tiled icon. * * @param c The Component to paint onto * @param g The Graphics to paint with * @param icon The icon to paint * @param sX The starting x location to paint the icon at * @param sY The starting y location to paint the icon at * @param width The width of the space that needs to be filled with * the tiled icon * @param height The height of the space that needs to be filled with * the tiled icon */ private void paintTiledIcon(Component c, Graphics g, ImageIcon icon, int sX, int sY, int width, int height){ int tileW = icon.getIconWidth(); int tileH = icon.getIconHeight(); width += sX; height += sY; for (int x = sX; x <= width; x += tileW) { for (int y = sY; y <= height; y += tileH) { icon.paintIcon(c, g, x, y); } } }