Uppgift3c

Med hjälp av Java 2D ska en bild göras transparent. I en JApplet med BorderLayout placerar du en klass som ärver från JPanel som CENTER. På denna panel ritar du sedan ut en GIF- och en JPEG-bild så att de överlappar varandra. För att kunna ordna till transparens måste du även i panelens paintComponent() typa om ditt gamla vanliga Graphics till ett Graphics2D.

Med tillgång till ett Graphics2D går det sedan att skapa ett object av klassen AlphaComposite. Till detta objekt kan man sedan ange hur kraftig transparensen ska vara enligt:
AlphaComposite.getInstance(AlphaComposite.SRC_OVER, alfa);
där alfa är ett flyttalsvärde mellan 0 och 1 som anger graden av genom- skinlighet. Slutligen är det bara att sända över det hela till din instans av klassen Graphics2D med: g2D.setComposite(ac);

Ja, slutresultatet ska fungera som exemplet här nedanför:

</COMMENT> Problem med att visa sidans applet!

Reglaget längst ner är en JSlider som ska läggas in i position SOUTH och sedan förses med en lyssnare som i det nedanstående kodexemplet som skickar vidare till js_stateChanged() som är en egendefinierad metod som uppdaterar bilderna enligt det nya värde som ställts in med JSlider-kontrollen:
js.addChangeListener(new ChangeListener(){
  public void stateChanged(ChangeEvent e){
    js_stateChanged(e);
  }
});

Denna uppgift ska även ge lite träning på OOP och datagömning så därför ska samtliga klassvariabler deklareras som private och sen enbart kunna nås av den egna klassens metoder. Koden blir inte speciellt lång då JSlider har bekväma medlemsmetoder som t ex: setValue(int x)