Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Vytvorte novú triedu . Ak používate integrované vývojové prostredie ( IDE ) , stačí kliknúť na " Súbor " , " Nová trieda " . " . PieChart.java " Inak , otvorené Poznámkový blok alebo textový editor voľby a uložte súbor ako
2
Import knižnice , ktoré budete potrebovať do svojho programu od štandardnej knižnice Javy vložením nasledujúce :
import java.awt.Color , dovozné java.awt.Graphics , import java.awt.Graphics2D , import java.awt.Rectangle , import java.awt.geom.Rectangle2D , import java.util.ArrayList ; import javax.swing.JFrame ;
3
vložte nasledujúci vytvoriť triedu piechart :
/*** Remíza koláčový graf * /public class pieChart rozširuje . JFrame {
ArrayList Rectangle2D rect ; public void addSlice ( double hodnota , Color farba ) public void draw ( Graphics2D g , Rectangle2D oblasť ) public void init ( ) ; @ Overridepublic void paint ( Graphics g ) public static void main ( string [ ] args ) /*** Táto suma predstavuje dáta pre krajec koláče . * /private class PIESLICE } Zvyšok tutoriálu bude pokrytie vyplnení kódu pre každú metódu opísanú vo vyššie uvedenom kóde . Vykonávať vlastnú triedu PIESLICE . To bude držať dáta pre každú " plátok " v grafe . Vložte nasledujúci kód : súkromné trieda PIESLICE { double hodnota , Color farba , /*** plátok koláč * @ param value veľkosť rezu * @ param .. color Farba požadované pre rez * /public PIESLICE ( double hodnota , Color farba ) { this.color = farba ; this.value = hodnota ; } . } implementovať metódu addSlice vložením nasledujúci kód : public void addSlice ( double hodnota , Color farba ) { slices.add ( nový PIESLICE ( hodnota , farebný ) ) ; } len vytvára nové PIESLICE a pridá ju do zoznamu plátok ArrayList Implementovať metódu init vložením nasledovné : . public void init ( ) { tento . setSize ( 800600 ) ; this.setVisible ( true ) ; rect = new Rectangle ( 100 , 100 , 600 , 480 ) ; } ; Implementovať metódu kresliť vložiť nasledujúci kód : public void draw ( Graphics2D g , Rectangle2D oblasť ) { double pieSize = 0 , pre ( PIESLICE plátok : plátky ) { pieSize + = slice.value ; } double currentValue = 0 ; int startAngle = 0 ; int arcAngle = 0 , pre ( PIESLICE plátok : plátky ) { startAngle = ( int ) ( currentValue * 360 /pieSize ) ; arcAngle = ( int ) ( slice.value * 360 /pieSize ) ; //Ak je to posledné plátok , to aby sa zabezpečilo , že žiadna 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 ; } } To je ťahúň programu . To prechádza každý plátok koláčový graf a vykreslí farebný oblúk zodpovedajúci jeho percentuálny podiel z koláča . Implementovať metódu paint , že trieda PieChart dostane od JFrame nadradenej . Všetko , čo to urobí , je volanie metódy Draw zakaždým , keď je potreba obnoviť : @ Overridepublic void paint ( Graphics g ) { kresliť ( ( Graphics2D ) this.getGraphics ( ) , rect ) ; } Vytvorte hlavnú metódu pre testovanie triedy a uistite sa , že funguje : public static void main ( String [ ] args ) { PieChart tabuľka = new PieChart ( ) ; chart.init ( ) ; chart.addSlice ( 10 , Color.RED ) ; chart.addSlice ( 7 , Color.BLUE ) chart.addSlice ( 3 , Color.GREEN ) ; chart.addSlice ( 15 , Color.ORANGE ) }
4
5
6
7
8
9