/*
 * "Grundkurs Programmieren in Java - Band 2 (2. Auflage, 2006)I"
 * 2003-2006, Carl Hanser Verlag
 * Loesungsvorschlag zu Aufgabe 6.2 (Version 2.0)
 * (c) 2003-2006 D. Ratz, J. Scheffler, D. Seese, J. Wiesenberger
 *
 */

import java.awt.*;
import javax.swing.*;

public class FarbigerVierButtonFrame extends JFrame {
  Container c;          
  JLabel beschriftung;  
  JButton ba, bb, bc, bd;
  Color f;

  public FarbigerVierButtonFrame(int i) {
    c = getContentPane();
    if (i==1) 
      c.setLayout(new FlowLayout());
    else if (i==2)
      c.setLayout(new BorderLayout());
    else if (i==3)
      c.setLayout(new GridLayout());
    else 
      c.setLayout(new GridLayout(0,1));

    c.add(ba = new JButton("A"));
    c.add(bb = new JButton("B"));
    c.add(bc = new JButton("C"));
    c.add(bd = new JButton("D"));
    
    ba.setBackground(f = randomColor());
    ba.setToolTipText(rgbString(f));
    bb.setBackground(f = randomColor());
    bb.setToolTipText(rgbString(f));
    bc.setBackground(f = randomColor());
    bc.setToolTipText(rgbString(f));
    bd.setBackground(f = randomColor());
    bd.setToolTipText(rgbString(f));
  }
  
  public static Color randomColor() {
    return new Color((float)Math.random(),
                     (float)Math.random(),
                     (float)Math.random());
  }

  public static String rgbString(Color f) {
    return "(" + f.getRed() + "," + f.getGreen() + "," + f.getBlue() + ")";
  }
  
  public static void main(String[] args) {
    FarbigerVierButtonFrame[] fenster = new FarbigerVierButtonFrame[4];
    for (int i=0; i<4; i++) {
      fenster[i] = new FarbigerVierButtonFrame(i+1);
      fenster[i].setTitle("Fenster " + (i+1));
      fenster[i].setSize(200,200);
      fenster[i].setLocation(i*200,0);
      fenster[i].setVisible(true);
      fenster[i].setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
  }
}
