Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako kresliť koláčový graf v Jave

Hoci jazyk JavaFX obsahuje nástroj pre jednoduchú tvorbu koláčové grafy , obyčajné Java neposkytuje také jednoduché funkcie . Namiesto toho budete musieť vytvoriť svoju vlastnú triedu pre vytváranie koláčové grafy pomocou jazyka Java . Kľúčom k tejto úlohe bude trieda Graphics2D zabudované do štandardnej knižnice Java AWT . Pokyny dovolená 1

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 plátky = new 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 .
4

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

}
5

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
6

Implementovať metódu init vložením nasledovné : .

public void init ( ) {

tento . setSize ( 800600 ) ; this.setVisible ( true ) ; rect = new Rectangle ( 100 , 100 , 600 , 480 ) ;

} ;
7

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 .
8

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

9

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 )

}

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené