Tu as capté le système pour personnaliser l'affichage ?
Tu as capté le système pour personnaliser l'affichage ?
L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
Nouveau sur le forum ? Consultez Les Règles du Club.
un peu, je le ferai plutard, mais je n'ai pas besoin d'un tableau de chronos mais juste le premier
et je n'ai pas besoin aussi des bouton start et stop
L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
Nouveau sur le forum ? Consultez Les Règles du Club.
Finalement je n'arrive pas à le mettre là ou je veux,
quand je l'ajoute après les cartes comme ceci:
il prend la place de trois cartes, je ne sais pas comment gérer le layout pour l'afficher en bas du panneau ou en haut
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 for(int i =0;i<nRangees*nColonnes; i++){ this.add(cartes[i]); cartes[i].addMouseListener(mouseAdapter); } Timer t = new Timer(delai0,new ActionListener(){// affichage initial de toutes les cartes pendant un délai "delai0" public void actionPerformed(ActionEvent e){ for(int i =0;i<nRangees*nColonnes; i++){ cartes[i].retourne(); } } }); t.start(); t.setRepeats(false); add(c); c.start();
Tu vas être probablement obligé de gérer ça en 2 panels, parce que tes cartes sont en grille, c'est-a-dire en dehors de ton PanneauDeCartes.
Par exemple, tu fais un JPanle avec un BorderLayout. Tu mets ton PanneauDeCartes au centre. Tu fais un JPanel avec un autre layout (tout dépend exactement où tu veux mettre le chrono), et tu mets le chrono dedans.
Exemples :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 JFrame frame = new JFrame("Démo"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel panel = new JPanel(new BorderLayout()); frame.getContentPane().add(panel); Chrono chrono = new Chrono(); // exemple 1 en bas au centre : //panel.add(chrono, BorderLayout.SOUTH); // exemple 2 à droite en haut : //panel.add(chrono, BorderLayout.EAST); // exemple 3 à droite, à 100px du haut /*JPanel panelChrono = new JPanel(); panelChrono.setLayout(new BoxLayout(panelChrono, BoxLayout.Y_AXIS)); panelChrono.add(Box.createVerticalStrut(100))); panelChrono.add(chrono); panel.add(panelChrono, BorderLayout.EAST);*/ // exemple 4 à droite, au centre /*JPanel panelChrono = new JPanel(); panelChrono.setLayout(new BoxLayout(panelChrono, BoxLayout.Y_AXIS)); panelChrono.add(Box.createVerticalGlue()); panelChrono.add(chrono); panel.add(panelChrono, BorderLayout.EAST);*/ // exemple 5 à droite, en bas /*JPanel panelChrono = new JPanel(new BorderLayout()); panelChrono.add(chrono, BorderLayout.SOUTH); panel.add(panelChrono, BorderLayout.EAST);*/ // exemple 6 en bas à droite : JPanel panelChrono = new JPanel(new FlowLayout(FlowLayout.RIGHT)); panelChrono.add(chrono); panel.add(panelChrono, BorderLayout.SOUTH); // etc. panel.add(new PanneauDeCarte()); // au centre (par défaut) frame.setSize(400, 600); frame.setLocationRelativeTo(null); frame.setVisible(true);
L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
Nouveau sur le forum ? Consultez Les Règles du Club.
j'avais déjà essayé ça et ça me prenait la moitié de la frame, mais je vais réessayer
tu vas rire de mois, mais je n'arrive pas à arrêter le chrono
j'ai mis l'appel chrono.stop() dans la fonction testFin et dans le mouseAdapter mais ça ne change rien
D'autre part, je ne sais pas si t'as remarqué, au début j'affiche toutes les images pendant 2secondes pour les cacher après et je voudrais que le chrono démarre après le premier click, alors qu'il démarre dès que je lance le jeu!!!
A mon avis, tu as 2 instances de Chrono, une qui est affichée et l'autre sur laquelle tu fais stop(). Comme tu places le chronomètre en dehors du plateeau, il te faut passer la référence du composant Chrono au PlateauDeCarte pour y avoir accès (sinon il faut faire un système évenementiel (ou mettre en place le motifi observer/observable).
Il faut appeler le start() sur le premier click, avec un test, par exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 public void mousePressed(MouseEvent event) { if ( premierClick ) { premierClick=false; chrono.start(); } /*...*/ }
L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
Nouveau sur le forum ? Consultez Les Règles du Club.
J'ai rajouté un attribu static de type Chrono dans mon panneau et c'est celui la que j'ajoute dans le Panel de ma frame
d'autre part je le demarre au début de ma méthode mouseClicked quand la carte cliquée est cachéee et carteVisible= null
je sais qu'il y aura d'autres situations comme ca au milieu de la partie mais comme il y aura un timer en cours start() ne changera rien vu comment tu l'as défini
tout marche à merveil.
Je trouve juste que ça prend un peu de temps pour se charger au début(5secondes), surtout pour les images mauis je pense que c'est normal parce que mes images sont sur internet
Il faudrait voir la classe GenerateurDeCarte pour voir s'il y a moyen d'accélerer, mais bon le plus simple encore est de charger les images une fois pour toutes. Parce que là, déjà il faut être connecté pour jouer, ensuite, si le serveur n'est pas dispo ou disparait définitivement, ça ne fonctionne plus non plus. Ce serait dommage. Ensuite, on doit pouvoir ne charger que les images qu'on utilise, au lieu de tout charger. Déjà, en instanciant un jeu de carte que lorsqu'on l'utilise.
L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
Nouveau sur le forum ? Consultez Les Règles du Club.
Ok, je vais télécharger les images une fois pour toute
merci pour tout et désolé d'avoir abusé de ton temps
Une technique intéressante pour limiter le poids et le nombre de fichiers est d'assembler toutes les images dans une (une par jeu par exemple). En particulier si toutes les images ont la même taille. Ensuite, tu la charges en BufferedImage, et tu récupères les "sous-images", par la méthode getSubimage(). Cela ne fait pas de copie, donc ça ne prend pas plus de place en mémoire.
L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
Nouveau sur le forum ? Consultez Les Règles du Club.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager