IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

2D Java Discussion :

prb reaffichage


Sujet :

2D Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 282
    Par défaut prb reaffichage
    salut j'ai deux question

    1er - comment faire pour avoir deux methode paintComponent qui par defaut redissine tout et une autre redissine autre chose

    2ieme- Lors d'un repaint apres avoir appuyer sur un autre Jpanel mon dessin ce decale pkoi? et que faire

  2. #2
    Membre éprouvé Avatar de yakanet
    Homme Profil pro
    Inscrit en
    Décembre 2005
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39

    Informations forums :
    Inscription : Décembre 2005
    Messages : 137
    Par défaut
    Franchement j'ai au moins mis 3 minutes pour décrypter ton message.
    Alors pour ton premier point je comprend que tu veux que la méthode paintComponant redessine à la fois tout et a la fois autre chose (c'est quoi autre chose que tout???)
    Complexe ta question, mais à priori avec un simple if dans ton paintComponant, tu ne pourrais pas résoudre ton affaire?

    Pour la deuxième question est ce que l'on pourrai avoir un bout de code car le repaint est une fonction qui fonctionne très bien normalement (enfin chez moi)

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 282
    Par défaut
    en gros g un labyrinthe avec des piece
    repaint tout c'est le labyrinthe complet
    repaint pas tout c'est juste le deplacement d'une piece

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    	Niveau2(){
     
    		attend = true;
    		finie = false;
    		JPanel haut = new JPanel();
    	    JPanel milieu = new JPanel();
    		JPanel bas = new JPanel();
     
    		b1=new JButton("Depart");
    		b2=new JButton("Pause");
    		b3=new JButton("Reprise");
       		b4=new JButton("Quitter");
     
    		monLaby1= new ZoneJeux();
    		monLaby2= new ZoneJeux();
     
    		milieu.setLayout(new GridLayout(1,2));
     
    		haut.add(b1);
    		haut.add(b2);
    		haut.add(b3);
    		haut.add(b4);
     
    		milieu.add(monLaby1);
    		milieu.add(monLaby2);
     
       		haut.setBackground(Color.gray);
       		milieu.setBackground(Color.white);
       		bas.setBackground(Color.gray);
     
      		Container c=this.getContentPane();
     		c.add("North",haut);
       		c.add("Center",milieu);
      		c.add("South",bas);
     
    		b1.addActionListener(new ActionB1());
    	    b2.addActionListener(new ActionB2());
    	    b3.addActionListener(new ActionB3());
    		b4.addActionListener(new ActionB4());
     
    		addKeyListener(this);
    		addMouseListener(this);
    	 	addMouseMotionListener(this);
     
    		pack();
    		setVisible(true);
     
    		monLaby1.addSouris(Color.RED);
    		monLaby2.addSouris(Color.BLUE);
     
     
    		requestFocus();
    	}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public void paintComponent(Graphics g)
    	{
    		for(int i=0; i<20;i++){
    			for( int j=0; j<15;j++){
    				laby[j][i].dessine(g);
     
    			}
    		}
     
    	}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public void dessine(Graphics g) {
    		g.setColor(couleur);
    		g.fillRect((1+posX)*10+posInitX,(1+posY)*10+posInitY,taille,taille);
        }
    [quote][/quote]

  4. #4
    Membre éprouvé Avatar de yakanet
    Homme Profil pro
    Inscrit en
    Décembre 2005
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39

    Informations forums :
    Inscription : Décembre 2005
    Messages : 137
    Par défaut
    Pour ton histoire de repaint, tu as deux fonction
    • le repaint() : qui lui repaint tout ton Container
      le repaint(int x,int y, int w, int h) : qui lui repaint le rectangle (x,y,w,h)

    Lorsque tu déplaces un carré tu n'as pas besoin de tout redessiner, tu redessine uniquement soit le rectangle entre tes deux poisitions de ton carré, soit les 2 rectangles ou étaient tes carrés.

    for(int i=0; i<20;i++){
    for( int j=0; j<15;j++){
    laby[j][i].dessine(g);

    }
    }
    Juste pour des soucis de rapidité, tu devrais utiliser laby[i][j]

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 282
    Par défaut
    merci pour l'info

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 282
    Par défaut
    je veut bien les redessine la partie définie mais si il y a un changement comment un deplacement comment il fait pour appeler les methode dessine des pièces

Discussions similaires

  1. [MySQL] prb de timeout !
    Par kurkLord dans le forum Hibernate
    Réponses: 5
    Dernier message: 23/09/2004, 10h31
  2. [TOMCAT] prb avec le cache de certains users
    Par osmoze dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 07/06/2004, 15h21
  3. [CR] prb création de diagramme
    Par theclear dans le forum SAP Crystal Reports
    Réponses: 7
    Dernier message: 03/06/2004, 14h58
  4. [BCB]Prb a l'installation de composant
    Par o_live dans le forum C++Builder
    Réponses: 8
    Dernier message: 28/07/2003, 00h29
  5. Prb de fonctionnement dans SaveDialog avecInitialDir
    Par boyerf dans le forum Composants VCL
    Réponses: 4
    Dernier message: 12/12/2002, 21h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo