Mettre en œuvre la méthode de tirage en collant le code suivant:
tirage au sort public void (Graphics2D g, zone Rectangle2D) {
à double pieSize = 0
GO
pour (PieSlice tranche: tranches) {
pieSize + = slice.value
GO
}
à double currentValue = 0
GO
int startAngle = 0
GO
int arcAngle = 0
GO
pour (PieSlice tranche: tranches) {
startAngle = (int) (currentValue * 360 / pieSize)
GO
arcAngle = (int) (slice.value * 360 / pieSize)
GO
// Si ceci est la dernière tranche, le faire pour vous assurer qu'il n'y a pas de lacunes.
if (slice.equals (slices.get (slices.size () - 1))) {
arcAngle = 360 - startAngle
GO
}g.setColor (slice.color)
GO
g.fillArc ((int) area.getMinX (), (int) area.getMinY (), (int) area.getWidth (), (int) area.getHeight (), startAngle, arcAngle)
GO
currentValue + = slice.value
GO
}}
Ceci est le cheval de bataille du programme. Elle passe par chaque tranche de camembert et dessine un arc de couleur correspondant à son pourcentage de la tarte.