import javax.swing.*; import java.awt.*; import javax.swing.event.*; import java.net.*; //MHA en JSlider överlappa 2 bilder public class Uppg2d extends JApplet implements ChangeListener { private JSlider js; private AlphaPanel alphapanel; private Container con; private Image image1, image2; private float alfa; public void init() { setSize(640, 480); con = getContentPane(); js = new JSlider(JSlider.HORIZONTAL, 0, 100, 0); js.addChangeListener(this); con.add(js, BorderLayout.SOUTH); image1 = getImage(getCodeBase(), "2a1.jpg"); image2 = getImage(getCodeBase(), "2a2.jpg"); alphapanel = new AlphaPanel(image1, image2); con.add(alphapanel, BorderLayout.CENTER); } public void stateChanged(ChangeEvent e) { repaint(); } class AlphaPanel extends JPanel { private Image img1, img2; public AlphaPanel(Image image1, Image image2) { super(); img1 = image1; img2 = image2; } public void paint(Graphics g) { Graphics2D g2 = (Graphics2D)g; g2.drawImage(image1, 0, 30, this); //hur starkt den ska överlappa! alfa = (float)js.getValue() / 150; AlphaComposite ac = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, alfa); g2.setComposite(ac); g2.drawImage(image2, 15, 180, this); }//paint }//AlphaPanel }//Uppg2d