Utilisateur anonyme
-
12 sept. 2004 à 14:51
Utilisateur anonyme -
17 sept. 2004 à 19:03
Salut a tous
Voila j'ai ce programme et il me faudrait un arriere plan, j'ai essaye comme il faut faire avec la methode public void paint, mais ca ne marche pas, il faut que je laisse le jwindow.
b.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}});
int c = width/2-50;
int a = height-50;
b.setBounds(c,a,100,40);
ba.setBounds(300,10,200,40);
setVisible(true);
}
}
Voilà est ce ke donc c'est poissible de remplacer le background noir par une image; si vous pourriez me remplacer ce code par le nouveau avec l'image x.jpg.
cs_GodConan
Messages postés2113Date d'inscriptionsamedi 8 novembre 2003StatutContributeurDernière intervention 6 octobre 201212 12 sept. 2004 à 20:15
GodConan :clown)
il te suffi de redefinir la methode paint()
d un component JWindow convien tou a fait...
dc si tu veu qd meme les component ajouter a ta fenetre sans les redessiner toi meme
et bien tu appelle la methode super ;o)
ex :
public void paint( Graphics g )
{
// la tu affiche ton image de fond
g.drawImage.....
// la su appell super pour tou les object contenu
super.paint( g )
}
le prob c est que qd tu appel super il redessine le background et dc efface ton image ;o) alors il faut empecher cela grace a la methode
setOpaque( false ); ;o) et voila ....
cs_GodConan
Messages postés2113Date d'inscriptionsamedi 8 novembre 2003StatutContributeurDernière intervention 6 octobre 201212 12 sept. 2004 à 21:02
GodConan :clown)
je te l ai di il te fau appeler la methode super si tu veu que les bouton s affiche .... car comme ca ce n est plus toi ki est responsable de leur affichage...
et le setOpaque c pour le conteneur
tu ai mal partie ds ton exemple ;o) il te faut faire un panel intermediaire ....
b.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}});
int c = width/2-50;
int a = height-50;
b.setBounds(c,a,100,40);
ba.setBounds(300,10,200,40);
setVisible(true);
}
}
j'ai les bouttons mais plus l'image lol je sais ke j'ai du mal a comprendre mais j'ai ke 14 ans et je debute; et pis pr le jpanel je comprend pas non plus, je suis oblige d'en faire un je peu pas laisser juste mon jwindow ?
enfin bon pourrais tu faire copier coller du code dans ta reponse (si il ya enfin j'espere) et m'ajouter le setOpaque au bon endroit et de la bonne façon avec si possible sans ajouter de jpanel mais si il en faut c'est pas un probleme enfin si, juste ke je sais pas comment le "configurer"; enfin k'il marche pour ce ke je veux.
Je t'en supplie ai pitier de moi je capte rien pour une simple image en arriere plan et j'en ai besoin. Pourrais tu m'ecrire vite fait le code ki marche jk'essayerai de tout comprendre une fois ke je suis sur ke ca marche.
cs_GodConan
Messages postés2113Date d'inscriptionsamedi 8 novembre 2003StatutContributeurDernière intervention 6 octobre 201212 13 sept. 2004 à 21:02
GodConan :clown)
je n est pas conserver le code de cette exemple
va sur le lien que je t donnee et telecharge le fichier ZIP
que tu Unzip pour en extraire les source ;o) c est exactement ce que tu cherche ....
cs_GodConan
Messages postés2113Date d'inscriptionsamedi 8 novembre 2003StatutContributeurDernière intervention 6 octobre 201212 14 sept. 2004 à 22:21
GodConan :clown)
hmmm... ;o)
je-met-koi-la-stp = this
c est evidement le component ds lequel tu dessine l image que tu ne veu pas ki conserve son comportement par default dc tu lui di de pas dessiner son fond puisque tu y met une image ....
et c a faire ds le constructeur juste avant le setVisible par exemple ...
Tout est reelement ds l exemple que je t ai indiqué... Prend le temp de le lire .... modifi quelqque ligne et voi le resultat....
public static void main(String[] args)
{
JFrame frm = new JFrame( "ton prog " );
frm.getContentPane().setLayout( new BorderLayout() );
frm.getContentPane().add( new Graph(), BorderLayout.CENTER );
int w = (int) Toolkit.getDefaultToolkit().getScreenSize().width;
int h = (int) Toolkit.getDefaultToolkit().getScreenSize().height;
frm.setSize( w, h );
frm.setVisible( true );
}
}
JButton btnExit = new JButton("QUITTER");
JButton btnNew = new JButton(" NOUVELLE PARTIE");
int width = (int) Toolkit.getDefaultToolkit().getScreenSize().width;
int height = (int) Toolkit.getDefaultToolkit().getScreenSize().height;
public Graph()
{
// setBounds(0, 0, width, height);
setLayout(null);
add( btnExit );
add( btnNew );
int w = ( width / 2) - 50;
int h = ( height / 2 ) - 150;
btnNew.setBounds( w - 50, h, 200, 40);
btnExit.setBounds( w, h + 100, 100, 40 );
public void paint(Graphics g)
{
g.drawImage( bg, 0, 0, width, height, this );
super.paint( g );
}
}
voila j avai pourtant tous dis ;-(
te reste qd meme a utiliser un mediatracker pour loader l image avant l affichage .
evidement si tu y tien tu peu use une JWindow a la place de la JFrame ...
Bon c'est pas grave j'abvandonne j'en ai marre kan je met mon imlage elle s'affiche kan je met v.jpeg enfin bon tant pis mais stp rpd moi juste pr mon probleme de class
C'est bon j'ai trouve pour le probleme de class, mais mon image d'arriere plna marche tjrs pas est ce si dur ke ca ???? kan je remplace ton truc par v.jpeg et et ke je met en JFRame avec un setlayout nul et setbounds et un jwindow set bounds 0,0,800,600 j'ai un truc tt gris avec rien pas de boutons ni d'image lol
ca me saoule j'en ai marre je veux une image d'arriere plan lol
cs_GodConan
Messages postés2113Date d'inscriptionsamedi 8 novembre 2003StatutContributeurDernière intervention 6 octobre 201212 16 sept. 2004 à 21:33
GodConan :clown)
BON 'ECOUTE' LE CODE QUE JE VIEN DE TE FOURNIR FONCTIONNE TRES BIEN (JE L AI TESTER) DC TU FAI UN COPIER COLLER ET VOILA TU MET JUSTE LE NOM DE TON IMAGE A LA PLACE DU MIEN et change le nom du fichier aussi SANS RIEN CHANGER D OTRE ...
ET TU ATTEND 2 MIN APRES AVOIR LANCER TON APPLI POUR QUE L IMAGE SE CHARGE.....
Excuse le temps ke l'image charge lol je te remercie infiniment de ton aide precieuse et ke dieu te benisse j'ai enfin trouve grace toi merci infiniment