Module Info31 – L2 Sciences & Techniques Université de Bourgogne
Document de travail pour le TP noté – tous sujets confondus
Vous disposez dans l'archive correspondant à votre sujet :
de l'énoncé à traiter (document sujetxxxx.pdf)
d'un schéma de programme java à compléter (fichier de nom sujet_base.java). Ce schéma de
programme doit être renommé en fonction de votre sujet (sujetxxxx.java)
pour référence, si nécessaire, du programme exhaustif de démonstration des primitives graphiques
fournies par Oracle (dessineOracle.java) et d'un extrait (test.java)
Vous devez :
récupérer et ouvrir l'archive correspondant à votre sujet et renommer le répertoire qu'elle contient à
vos noms et prénoms, sans accents ni espaces
renommer le schéma de programme sujet_base.java selon votre sujet (sujetxxxx.java) :
n'oubliez pas de modifier le nom de la classe ainsi que la déclaration d'objet dans la méthode main()
modifier le titre de la fenêtre graphique avec vos noms, prénoms et votre groupe de TP noté (le
nom du groupe est indiqué sur la feuille d'émargement)
écrire et tester le programme qui vous est demandé
faire une copie d'écran de la fenêtre graphique que génère votre programme
laisser dans votre répertoire de travail exclusivement :
le source de votre programme sujetxxxx.java
la copie d'écran que vous avez faite
faire une archive de votre répertoire de travail et envoyer par email cette archive à :
ET à votre responsable de TP noté :
lucie.druoton@u-bourgogne.fr ou dominique.michelucci@u-bourgogne.fr
Vous pouvez avoir besoin :
de passer des paramètres à votre programme Java lorsque vous l'exécutez. Par exemple, pour
récupérer dans les variables entières a et b les deux paramètres entiers passés à un programme Java,
vous devez écrire dans la méthode main de votre programme :
public static void main(String s[])
{ int a,b ;
a=Integer.parseInt(s[0]);
b=Integer.parseInt(s[1]);
d'extraire le ie caractère d'une chaîne (variable ch de type String) avec :
ch.charAt(i)
attention, le premier caractère de la chaîne est à l'indice 0
de calculer une racine carrée avec : Math.sqrt()
TP noté-1-
Module Info31 – L2 Sciences & Techniques Université de Bourgogne
de programmer une pause dans l'exécution de votre programme avec :
int attente=300; // en millisecondes
try { Thread.sleep(attente);
} catch ( java.lang.InterruptedException ie)
{ //System.out.println("*");
}
de primitives graphiques
celles qui sont présentées ci-dessous s'appliquent à g2, un objet de la classe Graphics2D :
Pour choisir des couleurs de tracé ou de coloriage, vous disposez de :
g2.setColor(Color.blue);
g2.setPaint(Color.blue);
Les couleurs disponibles sont :
static Color black
static Color blue
static Color cyan
static Color darkGray
static Color gray
static Color green
static Color lightGray
static Color magenta
static Color orange
static Color pink
static Color red
static Color white
static Color yellow
Pour définir l'épaisseur du trait à utiliser (un entier ou un réel de type float), vous disposez de :
g2.setStroke(new BasicStroke(epaisseur));
Pour tracer ou colorier des figures géométriques simples, vous disposez de :
Dans les primitives ci-dessus, g2.draw permet de dessiner un contour alors que g2.fill permet de
colorier la forme indiquée.
TP noté-2-
A
(xa,ya)
B
(xb,yb)
g2.draw(new Line2D.Double(xa,ya,xb,yb));
A (xa,ya)
larg
h
g2.draw(new Rectangle2D.Double(xa, ya, larg, h));
g2.fill(new Rectangle2D.Double(xa, ya, larg, h));
A (xa,ya)
diam
g2.draw(new Ellipse2D.Double(xa, ya, diam, diam));
g2.fill(new Ellipse2D.Double(xa, ya, diam, diam));
diam
SEGMENT
RECTANGLE-CARRE
CERCLE
Module Info31 – L2 Sciences & Techniques Université de Bourgogne
Pour définir (puis tracer ou colorier) un polygone, vous devez :
déclarer une variable polygone par
GeneralPath nom = new GeneralPath(GeneralPath.WIND_EVEN_ODD,nb);
nb est le nombre de points du polygone,
indiquer les sommets du polygone par
nom.moveTo(x,x);
nom.lineTo(x,x);
ces méthodes permettent respectivement de se déplacer au point indiqué (par ses
coordonnées x et y) ou de tracer un segment depuis la position courante vers le point indiqué,
ne pas oublier de revenir au premier sommet par nom.moveTo(x,x) ou de fermer votre polygone
par nom.closePath()
utiliser les méthodes
g2.draw(nom);
g2.fill(nom);
pour tracer ou de colorier le polygone
Programme d'exemple test.java (extrait) :
public void paint(Graphics g) // doit appeler votre méthode de dessin
{
dessine(g); // paramètre g obligatoire
// vous pouvez ajouter d'autres paramètres
}// fin methode
public void dessine(Graphics g)
{ Graphics2D g2 = (Graphics2D) g;
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
GeneralPath tr = new GeneralPath(GeneralPath.WIND_EVEN_ODD,3); // triangle gris via
// polygone 3 sommets
tr.moveTo(10,100);
tr.lineTo(10,140);
tr.lineTo(40,140);
tr.closePath();
g2.setPaint(Color.lightGray);
g2.fill(tr);
g2.setStroke(new BasicStroke(2)); // trait epais
g2.setColor(Color.blue); // tracé d'un segment bleu
g2.draw(new Line2D.Double(10,10,60,10));
g2.setColor(Color.red); // tracé d'un point rouge
g2.draw(new Line2D.Double(5,7,5,7));
g2.setColor(Color.black); // trait fin et couleur noire
g2.setStroke(new BasicStroke(1));
g2.draw(new Rectangle2D.Double(10,20, 10, 10)); // tracé: carré-rectangle-cercle
g2.draw(new Rectangle2D.Double(40,20, 30, 10));
g2.draw(new Ellipse2D.Double(80,20,10,10));
g2.fill(new Rectangle2D.Double(10,50, 10, 10)); // remplissage
g2.fill(new Rectangle2D.Double(40,50, 30, 10));
g2.fill(new Ellipse2D.Double(80,50,10,10));
}// fin dessine
TP noté-3-
Module Info31 – L2 Sciences & Techniques Université de Bourgogne
quelque soit votre sujet
vous n'avez pas à tenir compte de l'affichage inversé de la fenêtre graphique
TP noté-4-
1 / 4 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !