Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 30/04/2007, à 20:05

sabribri_petite_pingou

java graphisme et deboires

Bonjour, je suis completement debutante en java, et j'avoue avoir enormement de mal avec le graphisme!!

Surtout que quand je veux compiler des class qui sont a 300% bonnes, le compilateur me dit qu'il ne reconait pas mes fonctions.
par exemple "getBackground"  "paintCoponent()" ou meme "tillOvalle" et "tillRect".

Je pense que mon AWT ou SWING est incomplet, mais ou le mettre a jour??
aidez moi svp

Hors ligne

#2 Le 30/04/2007, à 20:53

obiwankennedy

Re : java graphisme et deboires

donne ici le résultat de la commande 
java -version

déja en premier. Ensuite peut etre le code entier d'une classe qui ne fonctionne pas et qui le devrait.


Dans mes logiciels, j'écris ton nom.
SGNGD: SvgGd is Not GD
Rolisteam

Hors ligne

#3 Le 30/04/2007, à 21:15

sabribri_petite_pingou

Re : java graphisme et deboires

Voila le resultat de la commande :

java version "1.4.2"
gij (GNU libgcj) version 4.1.2 20060928 (prerelease) (Ubuntu 4.1.1-14ubuntu7)

Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Ensuite voila un code donné par mon prof de java a la fac :

import java.awt.*;
import javax.swing.*;

class TestBalle{
    public static void main(String [] args){
    JFrame jf=new JFrame("Ping pong");
    MonJPanel p=new MonJPanel();
    jf.contentPane().add(p);
    jf.setSize(300,300);
    jf.setVisible("true");
   
    while ("true"){
        jf.repaint();
        clavier.dormir(50);
    }
   
    }
   
}

class MonJPanel extends JPanel{
    int x=10;
    int y=10;
    int vitX=1;
    int vitY=2;
    int r=6;
    int d=2*r;
   
    public void paint(Graphics g){
    super.paintComponent(g);
    int newx=x+vitX;
    int newy=y+vitY;
   
    if((newx>=300-d)||(newx<=0)){
        vitX=-vitX;
        newx=x+vitX;
    }
   
    if((newy>=getSize().height-d)||(newy<=0)){
        vitY=-vitY;
        newy=y+vitY;
    }
   
    x=newx;
    y=newy;
    getBackground("green");
    g.tillOvale(x,y,d,d);
    }
}

Il me renvoie une erreur sur :
- super.paintComponent(g);
- jf.contentPane().add(p);
- getBackground("green");
- g.tillOvale(x,y,d,d);

Hors ligne

#4 Le 30/04/2007, à 21:29

Nizarus

Re : java graphisme et deboires

Je pense qu'il faut installer le java de sun car ce que tu à est la version libre de java. Regarde par là : http://doc.ubuntu-fr.org/java#utilisati … 1.6.0_edgy

Hors ligne

#5 Le 01/05/2007, à 11:10

obiwankennedy

Re : java graphisme et deboires

Bonjour, voici la version corrigée. Il y avait des fautes de frappes sur le nom de certaines fonctions.

Ton profs a dû programmer ça avec ses pieds non ? ou alors il ne sait pas lire une doc...

genre getBackground("green"); <- il y a 2 fautes
c'est setBackground parce que GetBackground renvoie la couleur alors que set colorie vraiment le fond. Et "green" n'est pas une couleur il faut utilisé les couleurs static de la classe Color donc ça devrait faire setBackground(AWT.Color.green); enfin j'ai preferer utiliser RGB et le constructeur de Color. voilà.

j'ai commenter clavier.dormir(50); car j'ai pas cette classe là.
sinon quand j'execute ce code, ça fait un fond vert avec une balle qui rebondit.

import java.awt.*;
import javax.swing.*;

class TestBalle{
    public static void main(String [] args){
    JFrame jf=new JFrame("Ping pong");
    MonJPanel p=new MonJPanel();
    jf.getContentPane().add(p);
    jf.setSize(300,300);
    jf.setVisible(true);
   
    while (true){
        jf.repaint();
        //clavier.dormir(50);
    }
   
    }
   
}

class MonJPanel extends JPanel{
    int x=10;
    int y=10;
    int vitX=1;
    int vitY=2;
    int r=6;
    int d=2*r;
   
    public void paint(Graphics g){
    super.paintComponent(g);
    int newx=x+vitX;
    int newy=y+vitY;
   
    if((newx>=300-d)||(newx<=0)){
        vitX=-vitX;
        newx=x+vitX;
    }
   
    if((newy>=getSize().height-d)||(newy<=0)){
        vitY=-vitY;
        newy=y+vitY;
    }
   
    x=newx;
    y=newy;
    setBackground(new Color(0,255,0));
    g.fillOval(x,y,d,d);
    }
}

Dernière modification par obiwankennedy (Le 01/05/2007, à 17:48)


Dans mes logiciels, j'écris ton nom.
SGNGD: SvgGd is Not GD
Rolisteam

Hors ligne