/** * */ package photoSpreadObjects.photoSpreadComponents; import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Graphics2D; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; import photoSpreadUtilities.Const; import photoSpreadUtilities.Misc; /** * @author paepcke * */ public class AlphaCapableLabel extends JLabel { /** * */ private static final long serialVersionUID = 1L; float _alphaValue = Const.defaultLabelAlpha; // static Dimension _defaultLabelDim = PhotoSpread.photoSpreadPrefs.getDimension(PhotoSpread.dragGhostSizeKey); public void setAlpha (float newAlpha) { _alphaValue = newAlpha; } public float getAlpha () { return _alphaValue; } public void paintComponent (Graphics g) { Graphics2D g2 = (Graphics2D) g; g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, _alphaValue)); g2.drawImage(((ImageIcon) this.getIcon()).getImage(), 0, 0, null); } public static void main (String[] args) { JFrame app = new JFrame("Test xparent label"); app.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); app.setLocationRelativeTo(null); app.setBackground(Color.BLUE); AlphaCapableLabel label = new AlphaCapableLabel(); label.setAlpha(1.0f); ImageIcon imgIcon = Misc.createImageIcon( // "PhotoSpread/img/rightArrow.png", "PhotoSpread/img/grouchSmiling.png", new Dimension (300,350)); // new Dimension (43,50)); // PhotoSpread.photoSpreadPrefs.getDimension(PhotoSpread.dragGhostSizeKey)); label.setIcon(imgIcon); app.add(label); app.setVisible(true); app.pack(); } }