IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

paintComponent n'affiche rien


Sujet :

AWT/Swing Java

  1. #41
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    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.

  2. #42
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 45
    Points : 9
    Points
    9
    Par défaut
    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

  3. #43
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par momo-mtl Voir le message
    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
    Non, mais, ça c'est juste pour la démo : le composant Chrono est utilisable de façon indépendante (à la limite, tu vires la méthode main()).
    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.

  4. #44
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 45
    Points : 9
    Points
    9
    Par défaut
    Ok, d'accord

  5. #45
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 45
    Points : 9
    Points
    9
    Par défaut
    Finalement je n'arrive pas à le mettre là ou je veux,
    quand je l'ajoute après les cartes comme ceci:

    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();
    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

  6. #46
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    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.

  7. #47
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 45
    Points : 9
    Points
    9
    Par défaut
    j'avais déjà essayé ça et ça me prenait la moitié de la frame, mais je vais réessayer

  8. #48
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 45
    Points : 9
    Points
    9
    Par défaut
    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!!!

  9. #49
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par momo-mtl Voir le message
    j'ai mis l'appel chrono.stop() dans la fonction testFin et dans le mouseAdapter mais ça ne change rien
    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).

    Citation Envoyé par momo-mtl Voir le message
    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!!!
    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.

  10. #50
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 45
    Points : 9
    Points
    9
    Par défaut
    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

  11. #51
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    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.

  12. #52
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 45
    Points : 9
    Points
    9
    Par défaut
    Ok, je vais télécharger les images une fois pour toute
    merci pour tout et désolé d'avoir abusé de ton temps

  13. #53
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    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.

  14. #54
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 45
    Points : 9
    Points
    9
    Par défaut
    Ok, merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.
Page 3 sur 3 PremièrePremière 123

Discussions similaires

  1. Boot mais n'affiche rien
    Par log2n dans le forum Assembleur
    Réponses: 28
    Dernier message: 03/11/2005, 21h16
  2. Mon programme n'affiche rien!!!!
    Par matthieu5978 dans le forum Langage
    Réponses: 1
    Dernier message: 03/11/2005, 11h28
  3. pourquoi mon quickreport n'affiche rien ?
    Par bertrand_declerck dans le forum Bases de données
    Réponses: 8
    Dernier message: 31/07/2005, 00h59
  4. [LG]Programme qui n'affiche rien
    Par ousunas dans le forum Langage
    Réponses: 4
    Dernier message: 17/02/2004, 19h38
  5. Opengl n'affiche rien.
    Par Fugus02 dans le forum OpenGL
    Réponses: 4
    Dernier message: 06/01/2004, 15h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo