Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> Java Programming >> .

Come disegnare un grafico a torta in Java

Anche se il linguaggio JavaFX contiene uno strumento per la facile creazione di grafici a torta , ordinario Java fornisce alcuna funzionalità di facile. Invece , è necessario progettare la propria classe per la creazione di grafici a torta utilizzando il linguaggio Java . La chiave per il compito sarà la classe Graphics2D incorporato nella libreria standard di Java AWT . Istruzioni
1

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 fette = new 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 .
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 ; }

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 );}

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

}
>

 

Programmazione © www.354353.com