import java.awt.image.BufferedImage; public class cLabel extends javax.swing.JLabel { boolean fit; BufferedImage image; cLabel(String name) { super(name); setBorder(new javax.swing.border.EtchedBorder()); } cLabel(String name, boolean border) { super(name); if (border) setBorder(new javax.swing.border.EtchedBorder()); else { //setBorder(null); //new javax.swing.border.EmptyBorder(0,0,0,0)); } } cLabel(javax.swing.ImageIcon icon, boolean border) { super(icon); if (border) setBorder(new javax.swing.border.EtchedBorder()); else { //setBorder(null); //new javax.swing.border.EmptyBorder(0,0,0,0)); } } cLabel(BufferedImage image, boolean border) { this.image = image; if (border) setBorder(new javax.swing.border.EtchedBorder()); else { //setBorder(null); //new javax.swing.border.EmptyBorder(0,0,0,0)); } } public void paint(java.awt.Graphics g) { if (image == null) { super.paint(g); } else { BufferedImage resizedimage = new BufferedImage(getWidth(),getHeight(),java.awt.image.BufferedImage.TYPE_INT_ARGB); java.awt.Graphics2D g2 = resizedimage.createGraphics(); g2.setRenderingHint(java.awt.RenderingHints.KEY_INTERPOLATION, java.awt.RenderingHints.VALUE_INTERPOLATION_BILINEAR); if (fit) g2.drawImage(image, 0, 0, getWidth(), getHeight(), null); else { g2.drawImage(image, getWidth()/2 - image.getWidth()/2, 0, image.getWidth(), image.getHeight(), null); } g2.dispose(); g.drawImage(resizedimage, 0, 0,getWidth(),getHeight(), null); } } }