/** Assignment:  Modify this file (previously ManyFonts
 ** on p. 202 of the text) by changing it to center each 
 ** of the different fonts horizontally, and to give each        
 ** a different color. Make sure to check out SimpleApplet3 
 ** first, which shows how to do these things.  Also, edit 
 ** MyApplet6.html in the  project directory, to run the
 ** MyApplet6.class file you create, and to look nice.   **/                                                               

import java.awt.Font;
import java.awt.*;

public class MyApplet6 extends java.applet.Applet 
  {public void paint(Graphics g) 
      {Font font1 = new Font("TimesRoman", Font.PLAIN, 18);
       Font font2 = new Font("TimesRoman", Font.BOLD, 18);
       Font font3 = new Font("TimesRoman", Font.ITALIC, 18);
       Font font4 = new Font("TimesRoman", Font.BOLD + Font.ITALIC, 18);
       
       FontMetrics font1m = getFontMetrics(font1);         // The different font metrics.
       FontMetrics font2m = getFontMetrics(font2);
       FontMetrics font3m = getFontMetrics(font3);
       FontMetrics font4m = getFontMetrics(font4); 
      
        int xstart1 = (size().width - font1m.stringWidth("This is a plain font"))/2; // Center text horizontally.
	int xstart2 = (size().width - font2m.stringWidth("This is a bold font"))/2;
	int xstart3 = (size().width - font3m.stringWidth("This is an italic font"))/2; 
	int xstart4 = (size().width - font4m.stringWidth("This is a bold italic font"))/2; 
	
	
	int font1ht = font1m.getHeight();                          // Get font heights.
	int font2ht = font2m.getHeight();
	int font3ht = font3m.getHeight();
	int font4ht = font4m.getHeight();           
	           
						    // Compute spacing between lines.
	int yspacing = (size().height - (font1ht + font2ht +font3ht + font4ht))/5; 
							       
	
	int ystart1 = yspacing + font1m.getAscent();  	             // Align text vertically.
	int ystart2 = ystart1 + font1m.getDescent() + yspacing + font2m.getAscent();
	int ystart3 = ystart2 + font2m.getDescent() + yspacing + font3m.getAscent();
	int ystart4 = ystart3 + font3m.getDescent() + yspacing + font4m.getAscent();
	 
	
       		       
	g.setColor(Color.blue);
	g.setFont(font1);
	g.drawString("This is a plain font",xstart1,ystart1);
	
	g.setColor(Color.red);
	g.setFont(font2);
	g.drawString("This is a bold font",xstart2,ystart2);
	g.setColor(Color.magenta);
	g.setFont(font3);
	g.drawString("This is an italic font",xstart3,ystart3);
	
	g.setColor(Color.green);
	g.setFont(font4);
	g.drawString("This is a bold italic font",xstart4,ystart4);
	
	/*
       g.setFont(font1);
       g.drawString("This is a plain font", 10, 25);
       g.setFont(fb);
       g.drawString("This is a bold font", 10, 50);
       g.setFont(fi);
       g.drawString("This is an italic font", 10, 75);
       g.setFont(fbi);
       g.drawString("This is a bold italic font", 10, 100);*/
       }
    }
