Aide pour affichage

cs_copin Messages postés 6 Date d'inscription lundi 1 novembre 2004 Statut Membre Dernière intervention 26 avril 2007 - 6 mars 2005 à 15:46
kaloway Messages postés 358 Date d'inscription jeudi 24 octobre 2002 Statut Membre Dernière intervention 13 avril 2020 - 6 mars 2005 à 17:16
Salut!
Je suis entrian de devellopper un prog de blackjack en java et j'ai un petit probleme pour joindre deux codes en un!

Ce que je veux faire c'est affiché une frame avec un bouton et a chaques clic sur le bouton obtenir une nouvelle carte de maniere aléatoire!

A la compilation j'ai pas d'erreur mais a l'exe rien se passe. Pas de frame rien!
Ce serait cool que quelqu'un jette un oeil car je dois avoir fini tout ca dans 1 mois et je suis pas en avance!

Je joint mon code:

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


public class CarteAl{
static Tableau frame;
public static void main(String[] args){
frame = new Tableau();;
frame.setVisible(true);
}
}



class PhotoCanvas extends Canvas{
Image image;
public PhotoCanvas(String s){
setSize(400,300);
image=getToolkit().getImage(s);
}


public void paint(Graphics g){
g.drawImage(image,0,0,this);
}
}



class Tableau extends JFrame implements ActionListener{
JLabel label=null;
public Tableau(){
super("Blackjack");


//Gestion de l'evt de fermeture de la fenetre(X)
WindowListener l = new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
};


//ajout du listener au frame
addWindowListener(l);

JPanel panneau = new JPanel();
JButton bouton = new JButton("Tirez une carte");
bouton.addActionListener(this);
panneau.add(label);
label=new JLabel("");
panneau.add(label);
setContentPane(panneau);
getContentPane().setLayout(new FlowLayout());
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
setLocation(dim.width/2-getWidth()/2,dim.height/2-getHeight()/2);
}


public void actionPerformed(ActionEvent evt){
String composant = evt.getActionCommand();
double couleur=(int) (4*Math.random());
double valeur=(int)(13*Math.random());
System.out.println(couleur);
System.out.println(valeur);
String nomCarte=couleur+"-"+valeur;
label.setText(nomCarte);
PhotoCanvas photo = new PhotoCanvas("ressources/"+nomCarte+".gif");
label.add(photo);
this.show();
}
}

merci d'avance

1 réponse

kaloway Messages postés 358 Date d'inscription jeudi 24 octobre 2002 Statut Membre Dernière intervention 13 avril 2020
6 mars 2005 à 17:16
On se calme.



tu fais d'abord un jframe tableau avec un jpanel, un
jlabel, un jbutton et un windowlistener pour fermer le jframe.

tu n'oublies pas de donner une taille au jframe.



quand tout cela marchera correctement, on passera à la suite.



remarque un canva est un composant awt, mélanger de l'awt avec du swing ça fait pas bon ménage.

tu peux remplacer le canva par un jpanel.
0
Rejoignez-nous