Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2224 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [Jpanel] Bouger un trait

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Jpanel] Bouger un trait

n°1677601
ut2k3
Posté le 27-01-2008 à 21:51:15  profilanswer
 

Bonjour à tous
 
J'ai un souci pour faire bouger un simple trait (avec DrawLine) dans un Jpanel. Sur une applet pas de probleme mais pas moyen dans un Jpanel  :fou:  :fou:  
 
Si quelqu'un pouvait m'aider ca serait super.
 
Merci

mood
Publicité
Posté le 27-01-2008 à 21:51:15  profilanswer
 

n°1677627
Anonymouse
Posté le 27-01-2008 à 23:40:50  profilanswer
 

Sans le code ca va être un peu dur de t'aider

n°1677685
ut2k3
Posté le 28-01-2008 à 09:52:18  profilanswer
 

C'est bon j'ai mis l'applet dans le Jpanel mais j'ai un autre probleme. Le probleme est que j'affiche 2 classes le trait et une cible de fléchette, quand j'enlève la cible, le trait bouge sans probleme mais quand je met la cible, c'est elle qui se rafraichit et le trait n'apparait pas.
 
Classe Cible qui doit faire apparaitre la cible et le trait
 
import java.awt.*;
import javax.swing.*;
import java.applet.*;
 
public class Cible extends Applet implements Runnable
{
    public Plateau p;
    public Ligne l;
    public int taille;
     
    public Thread t;
    public int px,py;
 
    public Cible()
    {
        taille = 600;
        p = new Plateau(0,0,taille);
        l = new Ligne(30,30);
        px = py = 1;
        t = new Thread(this);
        t.start();
    }
 
    public void paint(Graphics g)
    {
        Graphics2D g2 =(Graphics2D) g;
        p.dessiner(g2);
        l.dessiner(g2);
    }  
     
    public void run()
 {
  try
  {
   while (t.isAlive())
   {
    l.x += px;
    l.y += py;
    repaint();
    t.sleep(10);
   }
  }catch (InterruptedException e){}
 }
         
    public static void main(String[] args)  
    {
       new Cible();
    }
}
 
Classe Plateau qui contient les éléments de la cible
 
import java.awt.*;
import javax.swing.*;
 
 
public class Plateau extends Panel
{
    public int x,y,i,j;
    public int taille,rayon;
    public float larg2,haut2;
    public Font chiffre;
    public String nb[] = {"6","10","15","2","17","3","19","7","16","8","11","14","9","12","5","20","1","18","4","13"};
 
    public Plateau(int x, int y, int dim)
    {
        this.x = x;
        this.y = y;
        taille = dim;
    }
     
    public void dessiner(Graphics g)
    {
        Graphics2D g2 =(Graphics2D) g;
        chiffre = new Font("Courier", Font.BOLD, 40);
        larg2 = haut2 = taille/2;
        rayon = 280;
         
        //MODE Qualite et Anti-Aliasing
        RenderingHints qualityHints = new RenderingHints(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);
        qualityHints.put(RenderingHints.KEY_RENDERING,RenderingHints.VALUE_RENDER_QUALITY);
        g2.setRenderingHints(qualityHints);
           
        g2.setColor(Color.lightGray);
        g2.fillOval(x, y, taille, taille);
       
        g2.setColor(Color.red); //zone double
        for(i=0;i<360;i=i+36)
            g2.fillArc((taille/2)-(taille/5*2),(taille/2)-(taille/5*2),(taille/5*4),(taille/5*4),i+9,18);
             
        g2.setColor(Color.green); //zone double
        for(i=0;i<360;i=i+36)
            g2.fillArc((taille/2)-(taille/5*2),(taille/2)-(taille/5*2),(taille/5*4),(taille/5*4),i-9,18);
             
        g2.setColor(Color.black); //zone simple 1
        for(i=0;i<360;i=i+36)
            g2.fillArc((taille/2)-(taille/27*10),(taille/2)-(taille/27*10),(taille/27*20),(taille/27*20),i+9,18);
             
        g2.setColor(Color.white); //zone simple 1
        for(i=0;i<360;i=i+36)
            g2.fillArc((taille/2)-(taille/27*10),(taille/2)-(taille/27*10),(taille/27*20),(taille/27*20),i-9,18);
             
        g2.setColor(Color.red); //zone triple
        for(i=0;i<360;i=i+36)
            g2.fillArc((taille/2)-(taille/19*5),(taille/2)-(taille/19*5),(taille/19*10),(taille/19*10),i+9,18);
             
        g2.setColor(Color.green); //zone triple
        for(i=0;i<360;i=i+36)
            g2.fillArc((taille/2)-(taille/19*5),(taille/2)-(taille/19*5),(taille/19*10),(taille/19*10),i-9,18);
             
        g2.setColor(Color.black); //zone simple 2
        for(i=0;i<360;i=i+36)
            g2.fillArc((taille/2)-(taille/42*10),(taille/2)-(taille/42*10),(taille/42*20),(taille/42*20),i+9,18);
                     
        g2.setColor(Color.white); //zone simple 2
        for(i=0;i<360;i=i+36)
            g2.fillArc((taille/2)-(taille/42*10),(taille/2)-(taille/42*10),(taille/42*20),(taille/42*20),i-9,18);
         
        g2.setColor(Color.green); //centre 25
        g2.fillOval((taille/2)-(taille/24),(taille/2)-(taille/24),(taille/12),(taille/12));
         
        g2.setColor(Color.red); //centre 50
        g2.fillOval((taille/2)-(taille/48),(taille/2)-(taille/48),(taille/24),(taille/24));  
         
        g2.setColor(Color.white);
        g2.setFont(chiffre);
               
        for(i=0;i<360;i=i+18)
        {
            double x=larg2+rayon*Math.cos(Math.toRadians(i));
            double y=haut2+rayon*Math.sin(Math.toRadians(i));
            g2.drawString(nb[j],(int)x,(int)y);
            j++;
        }
         
         
 
    }
}
 
Classe Ligne qui contient les éléments de la ligne
 
import java.awt.*;
 
public class Ligne extends Panel
{
    public int x,y;
     
    public Ligne(int x,int y)
    {
        this.x = x;
        this.y = y;
    }
     
    public void dessiner(Graphics g)
    {
        Graphics2D g2 =(Graphics2D) g;
        g2.setColor(Color.black);
        g2.drawLine(x,y,x+100,y+100);
    }
}


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [Jpanel] Bouger un trait

 

Sujets relatifs
Le menu ne veux pas bouger !ajouter un JPANEL a l'affichage
[Resolu]Problem extension JPanelJDialog dans un JPanel
faire bouger un objet[wxWidgets] bouger la souris
Faire afficher un JPanel lors d'un evenement avec Actionlistener[Swing] Comment s'appelle cet élément ? Est-ce un JPanel ?
faire bouger une image en javascriptAffichage dans un JPanel.... dans un JPanel ^^
Plus de sujets relatifs à : [Jpanel] Bouger un trait


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR