Langage Java : repaint()
Résolu/Fermé
A voir également:
- Langage Java : repaint()
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Langage ascii - Guide
- Java apk - Télécharger - Langages
- Langage binaire - Guide
6 réponses
latoopa
Messages postés
258
Date d'inscription
dimanche 11 octobre 2009
Statut
Membre
Dernière intervention
5 janvier 2012
32
3 déc. 2010 à 13:46
3 déc. 2010 à 13:46
Yep
ben je suis toujours pas sur d'avoir compris à 100% ce que tu attends mais si ton but c'est de faire disparaitre précédent lors du clic sur précédent lorsque le compteur arrive à 1 tu fais :
ou un truc dans le genre... Qu'en penses tu ?
Toopa
ben je suis toujours pas sur d'avoir compris à 100% ce que tu attends mais si ton but c'est de faire disparaitre précédent lors du clic sur précédent lorsque le compteur arrive à 1 tu fais :
if (evt.getActionCommand().equals("Precedent")){ if(i > 1){ i--; precedent.setVisible(true); } else{ precedent.setVisible(false); } }
ou un truc dans le genre... Qu'en penses tu ?
Toopa
Pour le bouton ça marcherais mais au final je voudrais créer un tableau de Panel qui dépendrais de la variable "i" et quand je i augmente avec le clique la fenêtre fait un refresh et affiche le panel qui correspond.
Par exemple :
Panel[0] : Photo / Panel[1] Texte. Quand je lance l'appli je vois la photo et quand je clique sur le bouton, le "i" augmente, la fenêtre se refresh et il m'affiche le texte au lieu de la photo.
Par exemple :
Panel[0] : Photo / Panel[1] Texte. Quand je lance l'appli je vois la photo et quand je clique sur le bouton, le "i" augmente, la fenêtre se refresh et il m'affiche le texte au lieu de la photo.
latoopa
Messages postés
258
Date d'inscription
dimanche 11 octobre 2009
Statut
Membre
Dernière intervention
5 janvier 2012
32
3 déc. 2010 à 16:05
3 déc. 2010 à 16:05
Certes, mais ton JPanel (contenant l'image que tu veux afficher) n'a rien à voir avec les boutons. Il est un composant de ta Frame, tout comme tes boutons.
Donc ton refresh en fait c'est juste de remplacer un JPanel par un autre dans ta JFrame.
Donc ton refresh en fait c'est juste de remplacer un JPanel par un autre dans ta JFrame.
latoopa
Messages postés
258
Date d'inscription
dimanche 11 octobre 2009
Statut
Membre
Dernière intervention
5 janvier 2012
32
Modifié par latoopa le 3/12/2010 à 16:06
Modifié par latoopa le 3/12/2010 à 16:06
Ou même mieux. Tu peux juste modifier le contenu de ton JPanel en lui mettant une image contenue dans un tableau.
latoopa
Messages postés
258
Date d'inscription
dimanche 11 octobre 2009
Statut
Membre
Dernière intervention
5 janvier 2012
32
3 déc. 2010 à 16:41
3 déc. 2010 à 16:41
En fait j'ai regardé ton programme et je l'ai un peu bricolé.. Dis moi ce que tu en penses et si tu veux des explications :
import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class Tutorial3D extends JFrame implements ActionListener{ private static final long serialVersionUID = 1L; JPanel Bas,Haut; JPanel[] Gauche ,Droite; JButton Precedent, Suivant; int i=0, max=3, min=0; public Tutorial3D(){ initComponents(); } private void initComponents(){ setTitle("Tutorial Java 3D"); setSize(1000, 800); setLocationRelativeTo(null); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLayout(new GridLayout(2,1)); Haut = new JPanel(); Haut.setLayout(new GridLayout(1,2)); Haut.setSize(100,100); Bas = new JPanel(); Bas.setLayout(new GridLayout(1,2)); Bas.setSize(100,20); Precedent = new JButton("Précédent"); Precedent.addActionListener(this); Precedent.setSize(50,20); Precedent.setEnabled(false); Bas.add(Precedent); Suivant = new JButton("Suivant"); Suivant.addActionListener(this); Suivant.setSize(50,20); Bas.add(Suivant); add(Haut); add(Bas); } public void actionPerformed(ActionEvent e) { if (e.getSource() == Suivant) { if(i<3) i++; System.out.println("Valeur de i : "+i); Precedent.setEnabled(true); // tu ne peux pas atteindre i=0 en cliquant sur suivant switch(i){ // donc pas de "case 0" à gérer... ici case 1 : Suivant.setForeground(Color.cyan); break; case 2 : Suivant.setForeground(Color.yellow); break; case 3 : Suivant.setForeground(Color.green); Suivant.setEnabled(false); // désactivation du bouton suivant en fin de compteur break; } } else if (e.getSource() == Precedent){ if(i>0) i--; System.out.println("Valeur de i : "+i); Suivant.setEnabled(true); // tu ne peux pas atteindre i=3 en cliquant sur précédent switch(i){ // donc pas de "case 3" à gérer... ici case 1 : Suivant.setForeground(Color.cyan); break; case 2 : Suivant.setForeground(Color.yellow); break; case 0 : Suivant.setForeground(Color.green); Precedent.setEnabled(false); // désactivation du bouton suivant en fin de compteur break; } } } public static void main(String[] args) { Tutorial3D FenTuto = new Tutorial3D(); FenTuto.setVisible(true); } }
Bah tu contournes un peu ce que je veux faire. Ce que tu viens de me link je sais le faire. Mon problème c'est que je veux faire un refresh de la fenêtre et que j'y arrive pas. J'ai du mal m'expliquer : / . Au final mon problème c'est que je compte afficher dans ma fenêtre des choses en fonction de la variable "i" pour éviter de créer plein de fenêtre avec un lien entre elle ou de mettre 10 Panel non visiblement pendant que j'en affiche un.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
latoopa
Messages postés
258
Date d'inscription
dimanche 11 octobre 2009
Statut
Membre
Dernière intervention
5 janvier 2012
32
2 déc. 2010 à 16:48
2 déc. 2010 à 16:48
Salut.
Pourquoi repaint() ?
Il y a bien plus facile. Non ?
Toopa
Pourquoi repaint() ?
Il y a bien plus facile. Non ?
Toopa