cs_svince
Messages postés48Date d'inscriptionvendredi 2 juillet 2004StatutMembreDernière intervention16 février 2013
-
15 mai 2008 à 10:28
cs_jojolemariole
Messages postés519Date d'inscriptionmercredi 21 mars 2007StatutMembreDernière intervention19 décembre 2016
-
15 mai 2008 à 12:21
Bonjour,
Je ne suis pas sûr d'être dans le bon thème, mais voilà, je me lance. Je cherche à coder en java une sorte de puissance 4, mais je ne suis pas très au point sur le graphisme avec java. Où pourrais-je trouver un bon tuto ou une personne charitable (vous?) qui pourrait m'expliquer comment très simplement lancer une fenêtre avec dessin de simples cercles, remplis ou non d'une couleur ? Ca paraît simple, mais je ne trouve pas...
Bonne journée
cs_jojolemariole
Messages postés519Date d'inscriptionmercredi 21 mars 2007StatutMembreDernière intervention19 décembre 201625 15 mai 2008 à 12:21
C'est un peu vague comme question.
Je te montre un exemple simple de dessin avec Java en 2 classes. Tu pourras peut-être t'en inspirer.
<hr size="2" width="100%" />
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import javax.swing.JPanel;
/**
* Ca c'est une JPanel personnalise (extends JPanel)
*/
public class PanelP4 extends JPanel {
private static final long serialVersionUID = 1L;
/**
* On surcharge la methode paint afin de dessiner des trucs
*/
public void paint(Graphics graphics){
/*
* C'est pas tres elegant mais, on convertit le graphics en
* graphics2D qui permet de faire plus de chose
*/
Graphics2D g = (Graphics2D) graphics;
/*
* On active l'antialiasing (effet d'escalier)
* pour que les cercles soient plus jolis
*/
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
/*
* On met la couleur du Graphics2D à Bleu, c'est comme si on était en train
* de dessiner et qu'on prenait un crayon bleu (par défaut c'est noir)
*/
g.setColor(Color.blue);
/*
* On dessine un rectangle bleu qui fait toute la taille du panel
*/
g.fillRect(0, 0, getWidth(), getHeight());
/*
* On dessine un petit disque jaune
*/
g.setColor(Color.yellow);
g.fillOval(10, 10, 50, 50);
}
}
Classe de test
<hr size="2" width="100%" />
import javax.swing.JFrame;
public class TestPanelP4 {
public static void main(String[] args) {
// on instancie un panelp4 (celui qui affiche un rond
// jaune sur fond bleu
PanelP4 panel = new PanelP4();
// on instancie une fenetre qui va contenir le panel
// sans quoi il ne sera jamais visible a l'ecran
JFrame fenetre = new JFrame("Test Panel P4");
// on definit la taille de la fenetre
fenetre.setSize(200, 100);
// on ajoute le panel dans la fenetre
fenetre.add(panel);
// on centre la fenetre a l'ecran
fenetre.setLocationRelativeTo(null);
// cette instruction permet de faire en sorte que l'application soit
// fermee quand on ferme la fenetre
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// on rend la fenetre visible
fenetre.setVisible(true);
}