begin process at 2012 05 24 00:24:30
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Astuces

 > LE FONCTIONNEMENT DE REPAINT

LE FONCTIONNEMENT DE REPAINT


 Description

Cliquez pour voir la capture en taille normale
Le but de cette source est de vous faire comprendre comment fonctionne la méthode repaint. En effet, nous n'appelons que rarement cette méthode, elle est néanmoins appelée très souvent et pas uniquement lorsque l'utilisateur agit sur le programme.

La source propose un JPanel qui lorsque sa méthode repaint est appelée change de couleur aléatoirement. Vous pouvez essayer de réduire la fenêtre, de la faire sortir de l'écran, de faire passer d'autres fenêtres au dessus.

Vous serez peut être surpris du résultat.

La capture associée à la source a été réalisée en faisant passer au dessus de la fenêtre une autre fenêtre.

Source

  • import java.awt.Color;
  • import java.awt.Graphics;
  • import java.util.ArrayList;
  • import java.util.List;
  • import javax.swing.JFrame;
  • import javax.swing.JPanel;
  • public class TestRepaint extends JPanel {
  • private static final long serialVersionUID = -3228250872355821391L;
  • private List<Color> couleurs;
  • public TestRepaint(){
  • couleurs=new ArrayList<Color>();
  • couleurs.add(Color.BLACK);
  • couleurs.add(Color.BLUE);
  • couleurs.add(Color.CYAN);
  • couleurs.add(Color.DARK_GRAY);
  • couleurs.add(Color.GRAY);
  • couleurs.add(Color.GREEN);
  • couleurs.add(Color.LIGHT_GRAY);
  • couleurs.add(Color.MAGENTA);
  • couleurs.add(Color.ORANGE);
  • couleurs.add(Color.PINK);
  • couleurs.add(Color.RED);
  • couleurs.add(Color.WHITE);
  • couleurs.add(Color.YELLOW);
  • }
  • private Color getRandomColor(){
  • int indice=(int)(couleurs.size()*Math.random());
  • return couleurs.get(indice);
  • }
  • @Override
  • public void paintComponent(Graphics g){
  • g.setColor(getRandomColor());
  • g.fillRect(0, 0, getWidth(), getHeight());
  • }
  • public static void main(String[] args){
  • JFrame f = new JFrame();
  • f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  • f.setSize(300, 300);
  • f.setLocationRelativeTo(null);
  • f.add(new TestRepaint());
  • f.setVisible(true);
  • }
  • }
import java.awt.Color;
import java.awt.Graphics;
import java.util.ArrayList;
import java.util.List;

import javax.swing.JFrame;
import javax.swing.JPanel;


public class TestRepaint extends JPanel {

	private static final long serialVersionUID = -3228250872355821391L;
	private List<Color> couleurs;

	public TestRepaint(){
		couleurs=new ArrayList<Color>();
		couleurs.add(Color.BLACK);
		couleurs.add(Color.BLUE);
		couleurs.add(Color.CYAN);
		couleurs.add(Color.DARK_GRAY);
		couleurs.add(Color.GRAY);
		couleurs.add(Color.GREEN);
		couleurs.add(Color.LIGHT_GRAY);
		couleurs.add(Color.MAGENTA);
		couleurs.add(Color.ORANGE);
		couleurs.add(Color.PINK);
		couleurs.add(Color.RED);
		couleurs.add(Color.WHITE);
		couleurs.add(Color.YELLOW);
	}

	private Color getRandomColor(){
		int indice=(int)(couleurs.size()*Math.random());
		return couleurs.get(indice);
	}

	@Override
	public void paintComponent(Graphics g){
		g.setColor(getRandomColor());
		g.fillRect(0, 0, getWidth(), getHeight());
	}

	public static void main(String[] args){
		JFrame f = new JFrame();
		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		f.setSize(300, 300);
		f.setLocationRelativeTo(null);
		f.add(new TestRepaint());
		f.setVisible(true);
	}

}


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip MÉTHODOLOGIE POUR LES TESTS UNITAIRES
Source avec Zip INTERPRÉTEUR DE PSEUDO CODE
EVALUER UNE EXPRESSION BOOLÉENNE
JCOMBOBOX EN CASCADE
Source avec Zip FENÊTRE BLOQUANTE

 Sources de la même categorie

OBSERVATION DU SYSTÈME DE FICHIER SANS POLLING AVEC JAVA 7 par jojolemariole
Source avec Zip [TUTORIEL] CONCPETION AVANCÉE : LES DESIGN PATTERN par Julien39
STRING NUMBERS COMPUTATOR par loloof64
Source avec Zip Source avec une capture CODE JAVA DANS UNE PAGE HTML par Julien39
Source avec Zip LES EXPRESSIONS RÉGULIÈRES EN JAVA (DÉBUTANT) par Julien39

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture HORLOGE AVEC MINUTEUR par stef8383
Source avec Zip BLACKBOX SWING ET JAVA2D par GodConan
Source avec Zip Source avec une capture APPLICATION DE TRAITEMENT D'IMAGE (PAINT) par cha7ri
Source avec une capture GRAPHIQUE EN BÂTON par tlaloctzin
Source avec Zip Source avec une capture UN PROJET DE PATHFINDING par freyer

Commentaires et avis

Commentaire de khilio le 10/12/2011 01:43:34

très simple travaille et absence des effort

Commentaire de Julien39 le 10/12/2011 18:16:49 administrateur CS

Bonjour,

Merci d'avoir commenté mais, je ne comprend rien à ton commentaire.

Commentaire de uhrand le 12/12/2011 14:10:11

Ici il ne s'agit pas du fonctionnement de la méthode repaint() mais d'une illustration des demandes de peintures déclenchées par le système d'exploitation. Quand une opération de peinture est déclenchée par le système, le système demande au composant d'afficher son contenu, généralement pour une des raisons suivantes:

     * Le composant est affiché pour la première fois visiblement à l'écran.
     * Le composant a été redimensionné.
     * Le composant a été endommagé et doit être réparé.

Pour permettre aux applications de déclencher eux-mêmes une opération de peinture, l'AWT fournit les méthodes java.awt.Component suivantes pour que les programmes puissent demander un processus de peinture asynchrone:

    public void repaint()
    public void repaint(long tm)
    public void repaint(int x, int y, int width, int height)
    public void repaint(long tm, int x, int y, int width, int height)

Cordialement,
André

Commentaire de Julien39 le 16/12/2011 08:49:37 administrateur CS

Bonjour,

Merci pour cette précision. C'est vrai que ce mécanisme est dépendant de l'os, il ne fonctionne d'ailleurs pas de la même façon sous un Linux et sous un Windows.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Java Paint ou repaint [ par ladoud32 ] Voila j'ai une question toute bete lorsque je fait mon premier paint d'un panel que j'ai un peu modifié pour lui ajouter une liste de composant je fa Probleme de paint et repaint [ par tigroux ] Salut,Voila je veux dessinez un graphe qui se dessine qu'une seul fois au d&#233;marrage. Mais le probleme c'est que si je ne fais pas la repaint &#22 paint / repaint [ par Ombitious_Developper ] Salut :Existe il un moyen pour ne pas valider (redessiner) qu'une petite partie (région, rectangle) de la zone client d'un JFrame au lieu de redessine paint et repaint [ par tiball ] bonjour, Je suis debutant en java. J'aimerai effectuer un repaint sur un seul élément de ma méthode paint, est ce possible ?merci probleme avec paint et repaint [ par samehmohamed ] salut tout le monde j 'ai un bleme a ce qu'il pareil concernant paint et repaint..ds 2 classes differentes en java j ai utilisé paint et repaint..et d appelle de ma fonction repaint() [ par anisj1m ] bonjours;mon probleme est le suivant:je veut appeler ma methode paint avec un parametrage d'une image choisit avec jFilechooser ma fonction paint est Pb interface swing repaint [ par touirek ] Bonjour tout le monde,j'aimerai savoir est-ce-que il est possible d'afficher des nouvaux composants dans une interface swing sans faire appel à new in repaint() [ par Inutqen ] Bonjour à tous. Je me sens obligé de poser ma question dans le topic "Débutant", parce que je la trouve tellement bête qu'elle ne peut être due qu'à paint [ par zouzoun ] bonjour, je commencer a programmer avec java . j'ai eu un probleme c'est que j'arrive pas a comprendre comment je développe la méthode paint ? merci p probleme Paint [ par eljslim ] bonjour, j'ai un petit problème : j'ai ce code source d'une methode paint du jeu de dame: public void paint(Graphics g) { dame = new int[10][1


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,917 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales