(); 
  Rectangle2D rect ; 
 
 public void addSlice ( valore doppio , colore a colori ) per 
 vuoto sorteggio pubblico ( Graphics2D g , zona Rectangle2D ) per 
 public void init (); 
 
 @ Overridepublic void paint ( Graphics g ) per 
 pubblico static void main ( String [] args ) per 
 /*** rappresenta i dati di una fetta della torta . * /private class PieSlice 
 
 } 
 
 il resto del tutorial coprire la compilazione del codice per ciascun metodo descritto nel codice qui sopra . 
 4 
 Implementare la classe privata PieSlice . Questo conterrà i dati per ogni " fetta " del grafico a torta . Incollare il seguente codice: . . 
 
 Classe PieSlice privato { valore doppio ; colore colori ; 
 
 /*** La fetta di torta * @ param value La dimensione della slice * @ param colore il colore desiderato per la fetta * PieSlice /pubblico ( valore doppio , colore a colori ) { this.colore = colore ; this.value = value; } . 
 
 } 
 5 
 implementare il metodo addSlice incollando il seguente codice : 
 
 public void addSlice ( valore doppio , colore a colori ) { slices.add ( nuovo PieSlice ( valore , colore) );} 
 
 Questo crea solo un nuovo PieSlice e lo aggiunge alla lista fetta ArrayList 
 6 
 Implementare il metodo init incollando il seguente : . 
 
 public void init ( ) { 
 
 questa . setSize ( 800,600 ) ; this.setVisible ( true); rect = new Rectangle ( 100 , 100 , 600 , 480) ; 
 
 } ; 
 7 
 Implementare il metodo draw di incollando il seguente codice : 
 
 vuoto sorteggio pubblico ( Graphics2D g , zona Rectangle2D ) {double pieSize = 0; for ( PieSlice fetta : fette ) { pieSize + = slice.value ; } doppia currentValue = 0 ; int startAngle = 0; int arcAngle = 0; for ( PieSlice fetta : fette ) { startAngle = ( int ) ( currentValue * 360 /pieSize ) ; arcAngle = ( int ) ( slice.value * 360 /pieSize ) ; 
 
 //Se questa è l'ultima fetta , fare questo per garantire che non vi è alcuna gaps.if ( slice.equals ( slices.get ( slices.size ( ) -1 ) ) ) { arcAngle = 360 - startAngle ; } 
 < p > g.setColor ( slice.color ) ; g.fillArc ( ( int ) area.getMinX ( ) , ( int ) area.getMinY ( ) , ( int ) area.getWidth ( ) , ( int ) area.getHeight ( ) , startAngle , arcAngle ) ; currentValue + = slice.value ; } } 
 
 
 
 Questo è il cavallo di battaglia del programma . Si passa attraverso ogni sezione del grafico a torta e disegna un arco colorato corrispondente alla sua percentuale della torta. 
 8 
 Implementare il metodo di pittura che la classe PieChart otterrà dalla superclasse JFrame . Tutto ciò che fa è chiamare il metodo draw ogni volta che è necessario un aggiornamento : 
 
 @ void paint Overridepublic ( Graphics g ) { draw ( ( Graphics2D ) this.getGraphics ( ) , rect );} 
 < br > 9 
 Creare un metodo principale per testare la classe e assicurarsi che funziona : 
 
 public static void main (String [] args ) { PieChart tabella = new PieChart (); chart.init ( ) ; < br 
 chart.addSlice > ( 10 , Color.RED ) ; chart.addSlice ( 7 , color.blue ) ; chart.addSlice ( 3 , Color.green ) ; chart.addSlice ( 15 , Color.ORANGE ) ; < br 
 } 
 >