September 17, 2003
Pie Chart Applet (Version 2 with methods)
/* Name: Deepak Kumar
File: PieChart.java
Purpose: Given the number of students in class that will major in
each discipline, depict the data as a pie chart.
Notes: Version 2
We have reorganized the applet by making use of various methods. Added another method called compute()...
*/
import java.awt.*; import java.applet.Applet;
public class PieChart extends Applet {
// variables to store the number of students in each discipline int Sci, Soc, Hum; // variables to store percentages (should be float) float PercSci, PercSoc, PercHum; // the coordinates and size of the pie is fixed below int x = 50, y = 50, w = 100, h = 100; // these quantities will need to be computed for each slice int startAngle = 0, degrees; public void init() { // Set # of students in each discipline Sci = 5; Soc = 6; Hum = 7; compute(); } // end of init private float perc(int x, int t) { return x * 100.0f/t; } // end of perc public void compute() { // the total number of students int Total; // Computer percentages Total = Sci + Soc + Hum; PercSci = perc(Sci, Total); PercSoc = perc(Soc, Total); PercHum = perc(Hum, Total); //PercSci = Sci * 100.0f / Total; //PercSoc = Soc * 100.0f / Total; //PercHum = Hum * 100.0f / Total; // Print out results for checking System.out.println("Total = " + Total); System.out.println("%Sci = " + PercSci); System.out.println("%Soc = " + PercSoc); System.out.println("%Hum = " + PercHum); } // end of compute public void paint(Graphics g) { // Display the Pie Chart // Display the Pie for Sciences degrees = (int) (PercSci*360/100); g.setColor(Color.red); g.fillArc(x, y, w, h, startAngle, degrees); // Pie for Soc startAngle = degrees; degrees = (int) (PercSoc*360/100); g.setColor(Color.yellow); g.fillArc(x, y, w, h, startAngle, degrees); // Pie for Hum startAngle = startAngle + degrees; degrees = (int) (PercHum*360/100); g.setColor(Color.green); g.fillArc(x, y, w, h, startAngle, degrees); } // end of paint } // end of appletBack to class exmaples | Back to CS110 Materials page