Applet > Analisi del colore

Vedi la versione AWT.

import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class CambiaColore2 extends    Applet
                           implements ActionListener
{
   private Color[] cCOLORI={
          Color.black    , Color.blue   , Color.cyan  ,
          Color.darkGray , Color.gray   , Color.green ,
          Color.lightGray, Color.magenta, Color.orange,
          Color.pink     , Color.red    , Color.white ,
          Color.yellow     };
   private String[] sCOLORI={
          "Nero"         , "Blu"        , "Azzurro"   ,
          "Grigio scuro" , "Grigio"     , "Verde"     ,
          "Grigio chiaro", "Magenta"    , "Arancione" ,
          "Rosa", "Rosso", "Bianco"     ,
          "Giallo"          };
   private Panel  paNORD, paSUD;
   private Choice colori;
   private Button cambia, cambia2;
   private Color  sfondo;
   private Canvas tela;
   private Label tAlphaf, tAlpha, tAlphaH,
                 tBluef,  tBlue,  tBlueH,
                 tGreenf, tGreen, tGreenH,
                 tRedf,   tRed,   tRedH,
                 tRGB,    tRGBH,
                 tsRGB,   tsRGBH;
   public void init()
   {
      colori=new Choice();          for(int i=0; i < sCOLORI.length; i++)
                                        colori.add(sCOLORI[i]);
      tela=new Canvas();            sfondo=cCOLORI[0];
      tela.setBackground(sfondo);
      cambia =new Button("Cambia"); cambia.addActionListener(this);
      cambia2=new Button("Bianco"); cambia2.addActionListener(this);
      paSUD=new Panel();            paSUD.add(new Label("Colore sfondo", Label.RIGHT));
                                    paSUD.add(colori);
                                    paSUD.add(cambia);
                                    paSUD.add(cambia2);
      paNORD=new Panel(new GridLayout(6, 4));
                                    tRedf=new Label("", Label.CENTER);   paNORD.add(tRedf);
                                    tRed =new Label("", Label.CENTER);   paNORD.add(tRed);
                                    tRedH=new Label("", Label.CENTER);   paNORD.add(tRedH);
                                    paNORD.add(new Label("RED"));
                                    tGreenf=new Label("", Label.CENTER); paNORD.add(tGreenf);
                                    tGreen =new Label("", Label.CENTER); paNORD.add(tGreen);
                                    tGreenH=new Label("", Label.CENTER); paNORD.add(tGreenH);
                                    paNORD.add(new Label("GREEN"));
                                    tBluef=new Label("", Label.CENTER);  paNORD.add(tBluef);
                                    tBlue =new Label("", Label.CENTER);  paNORD.add(tBlue);
                                    tBlueH=new Label("", Label.CENTER);  paNORD.add(tBlueH);
                                    paNORD.add(new Label("BLUE"));
                                    paNORD.add(new Label());
                                    tRGB =new Label("", Label.CENTER);   paNORD.add(tRGB);
                                    tRGBH=new Label("", Label.CENTER);   paNORD.add(tRGBH);
                                    paNORD.add(new Label("RGB"));
                                    tAlphaf=new Label("", Label.CENTER); paNORD.add(tAlphaf);
                                    tAlpha =new Label("", Label.CENTER); paNORD.add(tAlpha);
                                    tAlphaH=new Label("", Label.CENTER); paNORD.add(tAlphaH);
                                    paNORD.add(new Label("ALPHA"));
                                    paNORD.add(new Label());
                                    tsRGB =new Label("", Label.CENTER);  paNORD.add(tsRGB);
                                    tsRGBH=new Label("", Label.CENTER);  paNORD.add(tsRGBH);
                                    paNORD.add(new Label("sRGB"));
      setta();
      this.setLayout(new BorderLayout());
      this.add(paNORD, BorderLayout.NORTH);
      this.add(tela, BorderLayout.CENTER);
      this.add(paSUD, BorderLayout.SOUTH);
   }
   public void actionPerformed(ActionEvent e)
   {
      String nome = e.getActionCommand();
      if(nome.equals("Cambia"))
      {
         int scelta=colori.getSelectedIndex();
         sfondo=cCOLORI[scelta];
      }
      else if(nome.equals("Bianco"))
         sfondo=Color.white;
      tela.setBackground(sfondo);
      setta();
   }
   private void setta()
   {
      int Alpha=sfondo.getAlpha(); tAlpha.setText("" + Alpha);
                                   tAlphaH.setText(Integer.toHexString(Alpha).toUpperCase());
      int Blue =sfondo.getBlue();  tBlue.setText("" + Blue);
                                   tBlueH.setText(Integer.toHexString(Blue).toUpperCase());
      int Green=sfondo.getGreen(); tGreen.setText("" + Green);
                                   tGreenH.setText(Integer.toHexString(Green).toUpperCase());
      int Red =sfondo.getRed();    tRed.setText("" + Red);
                                   tRedH.setText(Integer.toHexString(Red).toUpperCase());
      int sRGB =sfondo.getRGB();   tsRGB.setText("" + sRGB);
                                   tsRGBH.setText(Integer.toHexString(sRGB).toUpperCase());
      int RGB =sRGB & 0x00FFFFFF;  tRGB.setText("" + RGB);
                                   tRGBH.setText(Integer.toHexString(RGB).toUpperCase());
      float[] RGBA=sfondo.getRGBComponents(null);
                                   tRedf.setText("" + RGBA[0]);
                                   tGreenf.setText("" + RGBA[1]);
                                   tBluef.setText("" + RGBA[2]);
                                   tAlphaf.setText("" + RGBA[3]);
   }
}