1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104
|
import javax.swing.*;
import java.awt.*;
import javax.swing.event.*;
public class Transparence extends JFrame implements ChangeListener {
MonPanel panel = new MonPanel();
Container con = new Container();
GridBagLayout border = new GridBagLayout();
GridBagConstraints constraints = new GridBagConstraints();
JSlider slide;
public Transparence () {
this.setTitle("Transparence");
slide = new JSlider(JSlider.HORIZONTAL,0,10,2);
slide.setMajorTickSpacing(5);
slide.setMinorTickSpacing(1);
slide.setPaintTicks(true);
slide.addChangeListener(this);
con = this.getContentPane();
con.setLayout(border);
constraints.gridx = 0;
constraints.gridy = 0;
constraints.fill = constraints.HORIZONTAL;
border.setConstraints(slide,constraints);
con.add(slide);
constraints.gridx = 0;
constraints.gridy = 1;
constraints.fill = constraints.NONE;
border.setConstraints(panel,constraints);
con.add(panel);
this.pack();
this.setResizable(false);
this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
this.show();
panel.revalidate();
}
public void stateChanged(ChangeEvent e) {
float num = (new Integer(slide.getValue()).floatValue())/10;
System.out.println(num);
panel.transparency = num;
panel.revalidate();
panel.repaint();
}
public static void main (String args[]) {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}
catch (Exception ee) {}
new Transparence();
}
}
class MonPanel extends JPanel {
private Image image = null;
public float transparency = 0.1f;
public MonPanel () {
super();
image = Toolkit.getDefaultToolkit().getImage("./screen.jpg");
MediaTracker tracker=new MediaTracker(this);
tracker.addImage(image,0);
try{
tracker.waitForID(0);
}
catch(Exception e){}
this.setPreferredSize(new Dimension(400,400));
}
public void paint(Graphics g)
{
Graphics2D g2 = (Graphics2D) g;
g2.setComposite(java.awt.AlphaComposite.getInstance(java.awt.AlphaComposite.SRC_OVER,Math.min(transparency,1.0f)));
g2.draw(new Rectangle(100,100,20,20));
g2.drawImage(image,0 ,0, image.getWidth(null), image.getHeight(null), null);
// Restaurer la transparence par défaut.
//g2.setComposite(java.awt.AlphaComposite.getInstance(java.awt.AlphaComposite.SRC_OVER,1.0f));
}
} |
Partager