Creare una nuova classe . Se si utilizza un ambiente di sviluppo integrato ( IDE ) , basta cliccare su " File ", "New Class ". In caso contrario , aprire il Blocco note o un editor di testo di scelta e salvare il file come " PieChart.java . "
2
Importare le librerie avrete bisogno nel vostro programma dalla libreria standard di Java incollando il seguente :
importazione java.awt.Color ; java.awt.Graphics importazione; java.awt.Graphics2D importazione; java.awt.Rectangle importazione; java.awt.geom.Rectangle2D importazione; importazione java.util.ArrayList ; importazione javax.swing.JFrame ;
3
Incolla il seguente per creare la classe PieChart :
/*** Disegna un grafico a torta * PieChart classe /public . JFrame {
ArrayList 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 . 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; } . } 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 Implementare il metodo init incollando il seguente : . public void init ( ) { questa . setSize ( 800,600 ) ; this.setVisible ( true); rect = new Rectangle ( 100 , 100 , 600 , 480) ; } ; 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 ; } 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. 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 );} 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 }
4
5
6
7
8
9
>
Informazioni correlate
Programmazione © www.354353.com