Comment dessiner un graphique en java

Faire des graphiques circulaires comme ceci programmation avec Java.

Bien que la langue JavaFX contient un outil pour la création facile de diagrammes circulaires, Java ordinaire fournit aucune fonctionnalité facile. Au lieu de cela, vous devrez concevoir votre propre classe pour la création de diagrammes circulaires en utilisant le langage Java. La clé de la tâche sera la classe Graphics2D construite dans la bibliothèque Java AWT standard.

  • Créer une nouvelle classe. Si vous utilisez un environnement de développement intégré (IDE), cliquez sur "Fichier", "nouvelle classe". Sinon, le Bloc-notes ouvert ou votre éditeur de texte de choix et enregistrez le fichier comme "PieChart.java."

  • Importez les bibliothèques dont vous aurez besoin dans votre programme de la bibliothèque standard Java en collant les éléments suivants:

    import java.awt.Color
    ALLER
    java.awt.Graphics d`importation
    ALLER
    import java.awt.Graphics2D
    ALLER
    import java.awt.Rectangle
    ALLER
    import java.awt.geom.Rectangle2D
    ALLER
    import java.util.ArrayList
    ALLER
    import javax.swing.JFrame;

  • Collez le suivant pour créer la classe PieChart:

    / **

    • Dessine un diagramme circulaire.
      * /
      PieChart public class extends JFrame {

      ArrayList tranches = new ArrayList()
      ALLER

      Rectangle2D rect
      ALLER

      addSlice public void (valeur double, couleur couleur)

      tirage public void (Graphics2D g, zone Rectangle2D)

      public void init ()
      ALLER

      @Passer outre
      public void paint (Graphics g)

      public static void main (String [] args)

      / **

      • Cela représente les données d`une part du gâteau.
        * /
        PieSlice private class

    }

    Le reste du tutoriel va couvrir la garniture dans le code pour chaque méthode décrite dans le code ci-dessus.

  • Mettre en œuvre la classe privée PieSlice. Celle-ci contiendra les données pour chaque "tranche" du diagramme circulaire. Collez le code suivant:

    classe privée PieSlice {
    valeur double

    ALLER

    couleur de couleur

    ALLER

    / **
    * La part du gâteau.
    * Valeur @param La taille de la tranche.
    * @param Couleur La couleur souhaitée pour la tranche.
    * /
    PieSlice publique (double valeur, la couleur de couleur) {
    this.color = couleur

    ALLER

    this.value = valeur

    ALLER

    }

    }

  • Mettre en œuvre la méthode de addSlice en collant le code suivant:




    addSlice public void (double valeur, la couleur de couleur) {
    slices.add (nouveau PieSlice (valeur, couleur))

    ALLER

    }

    Cela crée simplement un nouveau PieSlice et l`ajoute à la liste de tranche ArrayList.

  • Mettre en œuvre la méthode init en collant le suivant:

    # 9 vide public init () {

    this.setSize (800,600)

    ALLER

    this.setVisible (true)

    ALLER

    rect = new Rectangle (100, 100, 600, 480)

    ALLER

    } -
  • Mettre en œuvre la méthode de tirage en collant le code suivant:

    tirage public void (Graphics2D g, zone Rectangle2D) {
    à double pieSize = 0

    ALLER

    pour (PieSlice tranche: tranches) {
    pieSize + = slice.value

    ALLER

    }
    à double currentValue = 0

    ALLER

    int startAngle = 0

    ALLER

    int arcAngle = 0

    ALLER

    pour (PieSlice tranche: tranches) {
    startAngle = (int) (currentValue * 360 / pieSize)

    ALLER

    arcAngle = (int) (slice.value * 360 / pieSize)

    ALLER

    // Si ceci est la dernière tranche, faites ceci pour assurer qu`il n`y a pas de lacunes.
    if (slice.equals (slices.get (slices.size () - 1))) {
    arcAngle = 360 - startAngle

    ALLER

    }

    g.setColor (slice.color)

    ALLER

     g.fillArc ((int) area.getMinX (), (int) area.getMinY (), (int) area.getWidth (), (int) area.getHeight (), startAngle, arcAngle)

    ALLER

     currentValue + = slice.value

    ALLER

    }

    }

    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.

  • Mettre en œuvre la méthode de peinture que la classe PieChart obtiendra de la superclasse JFrame. Tout ce qu`il fait est d`appeler la méthode de tirage au sort à chaque fois qu`un rafraîchissement est nécessaire:

    @Passer outre
    public void paint (Graphics g) {
    dessiner ((Graphics2D) this.getGraphics (), rect)

    ALLER

    }
  • Créer une méthode principale pour tester la classe et veiller à ce qu`il fonctionne:

    main (String [] args) {public static void

    PieChart chart = new PieChart ()

    ALLER

    chart.init ()

    ALLER

    chart.addSlice (10, Color.RED)

    ALLER

    chart.addSlice (7, Color.BLUE)

    ALLER

    chart.addSlice (3, Color.GREEN)

    ALLER

    chart.addSlice (15, Color.ORANGE)

    ALLER

    }

AUTRES

Java ne sera pas installé фото

Java ne sera pas installé

Si Java ne sera pas installé sur votre machine, il est presque certainement parce que vous avez téléchargé le…

Comment effacer jtextfield фото

Comment effacer jtextfield

Le JTextField est une oscillation de Java contrôle Web léger. Le JTextField est conceptuellement identique à une…

Mon java ne fonctionne pas фото

Mon java ne fonctionne pas

Certaines applications en ligne telles que les salles de chat, des jeux et des programmes Internet nécessitent une…

» » » » Comment dessiner un graphique en java