CodeDraw est une bibliothèque de dessin adaptée aux débutants qui peut être utilisée pour créer des images, des animations et même des applications interactives. Il est conçu pour les personnes qui commencent tout juste à apprendre la programmation, leur permettant de créer des applications graphiques.
Lisez l'introduction à CodeDraw pour un guide pour débutants de CodeDraw. Il donne également un aperçu des fonctionnalités disponibles dans CodeDraw.
Le Javadoc pour CodeDraw peut être trouvé ici.
Pour une version C # de CodeDraw, visitez le référentiel CodeDrawproject.
Allez dans les versions et téléchargez le plus récent CodeDraw.jar.
Ouvrez Intellij avec le projet où vous souhaitez ajouter CodeDraw. Cliquez sur Fichier> Structure du projet .... Dans le cadre des paramètres du projet , sélectionnez les bibliothèques . En haut à gauche, cliquez sur l' icône Small Plus et sélectionnez l'option Java . Accédez au code de code téléchargé, puis sélectionnez-le, puis appuyez sur OK . Vous pouvez maintenant importer CodeDraw avec import codedraw.*; en haut de vos fichiers Java.
Pour installer CodeDraw avec Eclipse , Maven ou Gradle , veuillez vous référer à l'installation.md.
Voici un exemple de la façon dont vous pouvez créer une image statique avec l'utilisation de CodeDraw.
import codedraw .*;
public class Main {
public static void main ( String [] args ) {
// Creates a new CodeDraw window with a size of 400x400 pixel.
CodeDraw cd = new CodeDraw ( 400 , 400 );
// Sets the drawing color to red.
cd . setColor ( Palette . RED );
// Draws the outline of a rectangle.
cd . drawRectangle ( 100 , 100 , 200 , 100 );
// Draws a filled square.
cd . fillSquare ( 180 , 150 , 80 );
// Changes the color to light blue.
cd . setColor ( Palette . LIGHT_BLUE );
cd . fillCircle ( 300 , 200 , 50 );
// Finally, the method "show" must be called
// to display the drawn shapes in the CodeDraw window.
cd . show ();
}
}.show() ❗ 
Les animations sont créées en dessinant plusieurs images puis en s'arrêtant entre ces cadres. Dans CodeDraw, cela est réalisé en créant une boucle dans laquelle chaque itération dessine une trame puis attend un certain temps, 1 seconde ou 1000 millisecondes dans ce cas, en utilisant la méthode .show(1000) .
import codedraw .*;
public class Main {
public static void main ( String [] args ) {
CodeDraw cd = new CodeDraw ( 400 , 400 );
for ( double sec = - Math . PI / 2 ; ! cd . isClosed (); sec += Math . PI / 30 ) {
// Clears the entire canvas.
cd . clear ();
// Draws the second hand of the clock.
cd . drawLine ( 200 , 200 , Math . cos ( sec ) * 100 + 200 , Math . sin ( sec ) * 100 + 200 );
// Draws the twelve dots.
for ( double j = 0 ; j < Math . PI * 2 ; j += Math . PI / 6 ) {
cd . fillCircle ( Math . cos ( j ) * 100 + 200 , Math . sin ( j ) * 100 + 200 , 4 );
}
// Displays the drawn objects and waits 1 second.
cd . show ( 1000 );
}
}
} Des programmes interactifs peuvent être créés en lisant les événements de l'événement et en switch en fonction du type d'événement. Dans les versions Java plus anciennes, les Eventscanner peuvent également être utilisés de la même manière que le java.util.Scanner avec has... et next... méthodes. Une explication plus détaillée peut être trouvée dans la section des événements de manipulation dans l'introduction à CodeDraw.
Vous pouvez également utiliser le générateur de code d'événement CodeDraw pour générer automatiquement votre code d'événement pour vous.
import codedraw .*;
public class Main {
public static void main ( String [] args ) {
CodeDraw cd = new CodeDraw ();
cd . drawText ( 200 , 200 , "Move your mouse over here." );
cd . show ();
cd . setColor ( Palette . RED );
// Creates an endless loop (until you close the window).
while (! cd . isClosed ()) {
// Creates a loop that consumes all the currently available events.
for ( var e : cd . getEventScanner ()) {
switch ( e ) {
// If the event is a mouse move event, a red square will be drawn at its location.
case MouseMoveEvent a ->
cd . fillSquare ( a . getX () - 5 , a . getY () - 5 , 10 );
default -> { }
}
}
// Display the red squares that have been drawn up to this point.
cd . show ( 16 );
}
}
} Tous ces exemples peuvent également être créés à l'aide de l'interface Animation . Une instance de l'interface Animation peut être transmise à CodeDraw qui invoque par la suite les méthodes que vous implémentez. L'exemple suivant vous permet de contrôler un cercle avec les clés WASD. La méthode onKeyDown est déclenchée à chaque fois qu'une touche est appuyée vers le bas et modifie la position du cercle. La méthode draw est appelée 60 fois par seconde et dessine le cercle au XY-coordonné.
import codedraw .*;
public class MyAnimation implements Animation {
public static void main ( String [] args ) {
CodeDraw . run ( new MyAnimation ());
}
private int x = 50 ;
private int y = 50 ;
@ Override
public void onKeyDown ( KeyDownEvent event ) {
if ( event . getKey () == Key . W ) {
y -= 20 ;
}
else if ( event . getKey () == Key . A ) {
x -= 20 ;
}
else if ( event . getKey () == Key . S ) {
y += 20 ;
}
else if ( event . getKey () == Key . D ) {
x += 20 ;
}
}
@ Override
public void draw ( Image canvas ) {
canvas . clear ();
canvas . fillCircle ( x , y , 10 );
}
}N'hésitez pas à poser des questions, à suggérer des fonctionnalités ou à faire des rapports de bogues dans la section des problèmes. ?