Pages : 1
#1 Le 30/04/2007, à 19: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, à 19: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, à 20: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, à 20: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, à 10: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, à 16:48)
Dans mes logiciels, j'écris ton nom.
SGNGD: SvgGd is Not GD
Rolisteam
Hors ligne
Pages : 1