// Chromis POS - The New Face of Open Source POS // Copyright (c) (c) 2015-2016 // http://www.chromis.co.uk // // This file is part of Chromis POS // // Chromis POS is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // Chromis POS is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with Chromis POS. If not, see <http://www.gnu.org/licenses/>. package uk.chromis.pos.util; import java.awt.Component; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import javax.swing.Icon; import javax.swing.JLabel; /** * * @author adrianromero */ public class LabelIcon extends JLabel implements Icon { private final int iconwidth; private final int iconheight; /** * * @param width * @param height */ public LabelIcon(int width, int height) { iconwidth = width; iconheight = height; } /** * * @param mywidth * @param myheight * @return */ public BufferedImage getImage(int mywidth, int myheight) { BufferedImage imgtext = new BufferedImage(mywidth, myheight, BufferedImage.TYPE_INT_ARGB); Graphics2D g2d = imgtext.createGraphics(); setBounds(0, 0, mywidth, myheight); paint(g2d); g2d.dispose(); return imgtext; } @Override public void paintIcon(Component c, Graphics g, int x, int y) { setBounds(0, 0, iconwidth, iconheight); g.translate(x, y); paint(g); g.translate(-x, -y); } @Override public int getIconWidth() { return iconwidth; } @Override public int getIconHeight() { return iconheight; } }