Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> Προγραμματισμός Java

Πώς να Ισοπαλία ένα γράφημα πίτας σε Java

Αν και η γλώσσα JavaFX περιέχει ένα εργαλείο για την εύκολη δημιουργία διαγράμματα πίτας , οι απλοί Java δεν παρέχει καμία τέτοια εύκολη λειτουργία . Αντ 'αυτού , θα πρέπει να σχεδιάσετε το δικό σας τάξη για τη δημιουργία γραφημάτων πίτας με τη χρήση της γλώσσας Java . Το κλειδί για την εργασία θα είναι η κλάση Graphics2D ενσωματωμένη στο πρότυπη βιβλιοθήκη Java AWT . Οδηγίες
Η 1

δημιουργήσετε μια νέα κατηγορία . Εάν χρησιμοποιείτε ένα ολοκληρωμένο περιβάλλον ανάπτυξης ( IDE ) , απλά κάντε κλικ στο " Αρχείο ", " Νέα Τάξη ". " . PieChart.java " Διαφορετικά, ανοίξτε το σημειωματάριο ή επεξεργαστή κειμένου της επιλογής σας και να αποθηκεύσετε το αρχείο ως 2

Εισαγωγή των βιβλιοθηκών που θα χρειαστείτε στο πρόγραμμά σας από την πρότυπη βιβλιοθήκη της Java με την επικόλληση τα εξής :

java.awt.Color εισαγωγής ? java.awt.Graphics εισαγωγής ? java.awt.Graphics2D εισαγωγής ? java.awt.Rectangle εισαγωγής ? java.awt.geom.Rectangle2D εισαγωγής ? java.util.ArrayList εισαγωγής ? εισαγωγή javax.swing.JFrame ?
εικόνων 3

Επικολλήστε τα παρακάτω για να δημιουργήσει την κατηγορία κυκλικό διάγραμμα :

/*** Ισοπαλίες ένα γράφημα πίτας * /δημόσια τάξη εκτείνεται κυκλικό διάγραμμα . JFrame {

ArrayList φέτες = νέα ArrayList ( ) ?

Rectangle2D rect ?

public void addSlice ( διπλή αξία , το χρώμα χρώμα )

public void draw ( Graphics2D g , περιοχή Rectangle2D )

public void init ( ) ?

@ Overridepublic χρώμα άκυρη ( Graphics g )

δημόσια στατική άκυρη κύρια ( String [ ] args )

/*** Αυτό αντιπροσωπεύει τα δεδομένα για ένα κομμάτι από την πίτα . * /ιδιωτική τάξη PieSlice

}

το υπόλοιπο του οδηγού θα καλύπτουν τη συμπλήρωση του κώδικα για κάθε μέθοδο που περιγράφεται στο παραπάνω κώδικα .
Η 4

Εφαρμογή του PieSlice ιδιωτικό τάξη . Αυτό θα κρατήσει τα δεδομένα για κάθε " κομμάτι " του γραφήματος πίτας . Επικολλήστε τον ακόλουθο κώδικα :

ιδιωτική τάξη PieSlice { διπλή αξία ? Χρώμα χρώμα?

/*** Το κομμάτι από την πίτα * αξία @ param Το μέγεθος της φέτας * @ param . . το επιθυμητό χρώμα για τη φέτα χρώμα * /δημόσια PieSlice ( διπλή αξία , το χρώμα χρώμα ) { this.color = χρώμα? this.value = τιμή ? } .

}
5

Εφαρμογή της μεθόδου addSlice με την επικόλληση τον παρακάτω κωδικό :

addSlice public void ( διπλή αξία , το χρώμα χρώμα ) { slices.add ( νέα PieSlice ( αξία , χρώμα) ) ? }

Αυτό δημιουργεί μόνο μια νέα PieSlice και προσθέτει στη λίστα φέτα ArrayList
Η 6

Εφαρμογή της μεθόδου init επικολλώντας τα ακόλουθα : .

public void init ( ) {

αυτό . setSize ( 800.600 ) ? this.setVisible ( αλήθεια)? rect = νέο ορθογώνιο ( 100 , 100 , 600 , 480) ?

} ?
Η

7 Εφαρμογή της μεθόδου κλήρωση από επικόλληση τον παρακάτω κωδικό :

public void draw ( Graphics2D g , περιοχή Rectangle2D ) { double pieSize = 0 ? για ( PieSlice φέτα : φέτες ) { pieSize + = slice.value ? } διπλό currentValue = 0 ? int startAngle = 0 ? int arcAngle = 0 ? για ( PieSlice φέτα : φέτες ) { startAngle = ( int ) ( currentValue * 360 /pieSize ) ? arcAngle = ( int ) ( slice.value * 360 /pieSize ) ?

//Αν αυτή είναι η τελευταία φέτα , το κάνετε αυτό για να βεβαιωθείτε ότι δεν υπάρχει 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 ? } }


Αυτή είναι η κινητήριος δύναμη του προγράμματος . Περνάει μέσα από κάθε φέτα του γραφήματος πίτας και αντλεί ένα χρωματιστό τόξο που αντιστοιχεί στο ποσοστό της πίτας .
8

Εφαρμογή της μεθόδου βαφής που η κατηγορία κυκλικό διάγραμμα θα πάρετε από την υπερκλάση JFrame . Το μόνο που κάνει είναι να καλέσετε την μέθοδο κλήρωση κάθε φορά που μια ανανέωση απαιτείται :

@ Overridepublic χρώμα άκυρη ( Graphics g ) { ισοπαλία ( ( Graphics2D ) this.getGraphics ( ) , rect ) ? }

9

Δημιουργήστε μια κύρια μέθοδο για να ελέγξετε την τάξη και να διασφαλιστεί ότι λειτουργεί :

δημόσια στατική άκυρη κύρια ( String [ ] args ) { κυκλικό διάγραμμα διάγραμμα = νέο κυκλικό διάγραμμα ( ) ? chart.init ( ) ?

chart.addSlice ( 10 , Color.RED ) ? chart.addSlice ( 7 , Color.Blue ) ? chart.addSlice ( 3 , Color.GREEN ) ? chart.addSlice ( 15 , Color.ORANGE ) ?

}
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα