 // ベーシックカラー [Color2.java] 
 import java.applet.Applet; 
 import java.awt.*; 
 import java.awt.event.*;           // JDK 1.1 
 public class Color2 extends Applet 
        implements MouseListener {  // JDK 1.1 
   int mouse_x=0;                   // マウスの位置 
   int mouse_y=0;                   // マウスの位置 
   int R,G,B;                       // マウスの位置のRGB 
   int [] tab={255,192,128,64,0};   // カラーテーブル 
   public void init() {  // アプレットロード時の初期化メソッド 
      setBackground(new Color(192,192,192)); // 背景色 
      addMouseListener(this);                // JDK 1.1 
   } //end init 
   //============= JDK 1.1 イベント処理(マウス) ============= 
   public void mousePressed(MouseEvent e) { // マウスを押す 
      mouse_x=e.getX();   // x位置 
      mouse_y=e.getY();   // y位置 
      repaint(); 
   } //end mousePressed 
   public void mouseClicked (MouseEvent e) { } // JDK 1.1 
   public void mouseReleased(MouseEvent e) { } // JDK 1.1 
   public void mouseEntered (MouseEvent e) { } // JDK 1.1 
   public void mouseExited  (MouseEvent e) { } // JDK 1.1 
   //==================== updateメソッド ==================== 
   public void update(Graphics g) { 
     g.setColor(Color.black); 
     g.fillRect(10,90,300,40);  // 塗りつぶし 
     g.setColor(Color.white); 
     if (mouse_x >= 10 && mouse_x < 385 && 
         mouse_y >= 10 && mouse_y < 85) { 
       int x=(mouse_x-10)/15;  // マウスのx位置 
       int y=(mouse_y-10)/15;  // マウスのy位置 
       R=tab[y]; 
       G=tab[x/5]; 
       B=tab[x%5]; 
       g.drawString("R="+R+" G="+G+" B="+B,20,105); 
       float [] hsb=Color.RGBtoHSB(R,G,B,null); //HSBへ変換 
       g.drawString("H="+hsb[0]+" S="+hsb[1]+" B="+hsb[2], 
                    20,120); 
       g.setColor(new Color(R,G,B)); 
       g.fillRect(270,100,25,25);  // 塗りつぶし 
     } 
   } //end update 
   //==================== paintメソッド ===================== 
   public void paint(Graphics g) { 
      for (int k=0; k<=4; k++) { 
         for (int j=0; j<=4; j++) { 
            for (int i=0; i<=4; i++) { 
               g.setColor(new Color(tab[k],tab[j],tab[i])); 
               g.fillRect(10+(j*5+i)*15,10+k*15,14,14); 
            } 
         } 
      } 
   } //end paint 
 } //end Color2 
